J'ai 2 données json de nosql
. premier match si le mot recherché correspond à $array1
, obtenir le item number
puis mettre item number
dans $array2
, obtenir le prix de la recherche personnalisée requise. Mais mon code dans la cause Invalid argument supplied for foreach()
foreach($json2[$num] as $data2)
php json décode résultat dans un autre décodage json
$str = 'paper';
$array1 = '[{"a":"1","b":"book"},{"a":"2","b":"paper"}]';
$array2 = '[{"1":["17.00","22.00"]},{"2",["4.50","6.00"]}]';
$json1 = json_decode($array1);
$json2 = json_decode($array2,true);
foreach($json1 as $data1){
if(preg_match('#'.$data1->b.'#',$str,$match)){
$num = $data1->a; // $num = 2
}
}
foreach($json2[$num] as $data2){
foreach($data2 as $newdata){
echo $newdata.'<br />'; // 4.50, 6.00
}
}
Cette erreur signifie que 'json2 $ [$ num]' est nulle ou non définie. Essayez le débogage avec 'var_dump'. –
@Tom van der Woerdt, revenez: 'array (2) {[0] => array (1) {[1] => array (2) {[0] => string (5)" 17.00 "[1 ] => string (5) "22.00"}} [1] => array (1) {[2] => array (2) {[0] => chaîne (5) "4.50" [1] => chaîne (5) "6.00"}}} ' – cj333
qui ressemble à un vidage de votre variable' $ json2', mais qu'en est-il de '$ num' et' $ json2 [$ num] '? –