配列ファイルの操作

WBOY
リリース: 2016-06-23 14:21:02
オリジナル
970 人が閲覧しました

この投稿は、lazygc520 によって、2013-09-05 13:13:44 に最終編集されました

配列 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',  ),);
ログイン後にコピー


望ましい結果は、配列 b と配列 a の cust_no と Lotno が次の場合です同じ場合は、テーブル SQL の更新を要求されます。それ以外の場合は、テーブル SQL を挿入します。どうやって頼めばいいのでしょうか?


ディスカッション(解決策)への返信

これは二次元ですが、誰と誰が同じですか?


あなたは二次元ですが、誰と誰が同じですか?

foreach を使用して 2 つの 2 次元配列を走査します。この例では、配列 b が存在します: 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15'
配列 a も存在します: 'cust_no ' => '310F6 1VA5A'、'ロット番号' => '2X15'。対応する cust_no キーと Lotno キーの値が等しいため、更新操作が実行されます。

foreach ($a as $a1) {

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";}
ログイン後にコピー
Array
(
[cust_no] => 310F6 1VA5A
[lotno] => 2X15
[count] => 0
)
テーブル SQL を更新
配列
(
[cust_いいえ] => 310F6 1VA5A
[ロット番号] => 2Z15
[カウント] => 32
)
テーブル SQL
配列
(
[cust_no] => 310F6 1VA5A
[ロット番号] => 3 528
[カウント] => 80
)
insert table SQL

あなたはすでに四隅にいます、あなたの投稿は冗談だと思いますよね?
たぶん、私がそれを明確に表現できなかったので、結果はこのようになりませんでした。
すごい

どうやって頼めばいいの?

配列
(
[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

自分で変更するにはどのような条件が必要ですか

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート