に私は私の出力には次の配列持ちPHPのforeach + ..私は二つのパラメータに基づいて、foreachループの配列をフィルタリングする方法を探しています多次元配列
に動作していない継続:
[
{
"entry_id": "1",
"title": "something",
"grades": [
"3",
"4",
"5",
"6"
],
"subject": [
"science"
]
},
{
"entry_id": "2",
"title": "something else",
"grades": [
"7",
"8",
"9",
"10"
],
"subject": [
"math"
]
},
]
を
私は、これは動作するはずのようにそれはそう読んだから、唯一たentry_id 2 + break
foreach
を使用して返すようにしようとしている。..
$subject = 'math';
$grade = '10';
foreach ($results as $key => &$result) {
if($subject && !in_array($subject, $result['subject'])){
break;
}
if($grade && !in_array($grade, $result['grades'])){
break;
}
}
しかし、それはですすべてのエントリを返します。
あなたはそれが何を返すか、 'return'文を持っていないのですか? – Barmar
'continue'はループ本体の残りの部分をスキップし、ループの次の繰り返しに進むことを意味します。しかし、あなたはループ本体に何も持っていないので、何の効果もありません。 – Barmar
ループを停止したい場合は、 'break'を使います。 – Barmar