前提
多次元連想配列で階層の要素を指定したい。
$yaoya = [
['yasai'=>'tomato', 'price'=>100],
['yasai'=>'itigo', 'price'=>500],
['yasai'=>'banana', 'price'=>200],
];
この配列で'yasai'が'tomato'なら 、'price'はかならず100で指定したいです。
例えば、下のように書いた時に
$yaoya = [
['yasai'=>'tomato', 'price'=>2000],
['yasai'=>'itigo', 'price'=>500],
['yasai'=>'banana', 'price'=>200],
];
配列で'yasai'が'tomato'だが'price'は2000なので
「トマトの価格が間違っています」と表示したいです。
自分で書いたコードでは、階層関係なくどこかに$yaoyaの'yasai'に'tomato'、'price'に100が入っていれば
「トマトの価格が間違っています」と表示されません。
どう直していいか分からず、すいませんがご指摘お願いいたします。
該当のソースコード
php
1ソースコード 2 3$yaoya = [ 4 ['yasai'=>'tomato', 'price'=>100], 5 ['yasai'=>'itigo', 'price'=>500], 6 ['yasai'=>'banana', 'price'=>200], 7 8]; 9function judge($yaoya) { 10 11if (!array_diff([100], array_column($yaoya, 'price')) !== !array_diff(['tomato'], array_column($yaoya, 'yasai'))) { 12 return "「トマトの価格が間違っています」"; 13 } 14 15 16}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答2件
あなたの回答
tips
プレビュー