配列 a と配列 b は、わかっています
$a = array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'count' => '0', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z15', 'count' => '16', ),);$b = array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'count' => '0', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z15', 'count' => '32', ), 2 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '3528', 'count' => '80', ),);
foreach を使用して 2 つの 2 次元配列を走査します。この例では、配列 b が存在します: 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15'
配列 a も存在します: 'cust_no ' => '310F6 1VA5A'、'ロット番号' => '2X15'。対応する cust_no キーと Lotno キーの値が等しいため、更新操作が実行されます。
foreach ($b as $b1) {
if $a1['cust_no'] == $b1['cust_no'] && $a1['lotno'] == $ B1 ['Lotno'] {
...
皆さんは四隅を持っていますが、あなたの投稿は冗談だと思いますか?
$a = array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'count' => '0', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z15', 'count' => '16', ),); $b = array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'count' => '0', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z15', 'count' => '32', ), 2 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '3528', 'count' => '80', ),);foreach($b as $i=>$v) { print_r($v); if(isset($a[$i]) && count(array_intersect_assoc($v, $a[$i])) == count($v)) { echo "update table sql\n"; }else echo "insert table sql\n";}
あなたはすでに四隅にいます、あなたの投稿は冗談だと思いますよね?
たぶん、私がそれを明確に表現できなかったので、結果はこのようになりませんでした。
すごい
どうやって頼めばいいの?
配列
(
[cust_no] => 310F6 1VA5A
[lotno] => 2X15
[count] => 0
)
テーブル SQL を更新
配列
(
[cust_no] =& gt; 310F6 1VA5A
[ロット番号] => 2Z15
[カウント] => 32
)
テーブル SQL
配列
(
[cust_no] => 310F6 1VA5A
[ロット番号] => 3528
[カウント] => 8 0
)
テーブル SQL の挿入
配列
(
[cust_no] => 310F6 1VA5A
[lotno] => 2X15
[count] => 0
)
テーブル SQL の更新
配列
(
[顧客番号] = > 310F6 1VA5A
[lotno] => 2Z15
[count] => 32
)
insert table sql // cust_no と Lotno が同じであるため、これは update table sql になるはずです
Array
(
[cust_no] => 310F6 1VA5A
[lotno] => 3528
[count] => 80
自分で変更するにはどのような条件が必要ですか