Я попытался отобразить изображение из массива, но это не сработало.Как вывести часть многомерного массива?
$productArr = [
"PT" => [
"cat" => [ "image" => "cat.jpg", "desc" => "blah blah"],
"fish"=> [ "image" => "fish.jpg", "desc" => "blah blah"],
"dog" => [ "image" => "dog.jpg","desc" => "blah blah"],
],
"KC" => [
"Ice" => [ "image" => "ice.jpg", "desc" => "mah mah mah"],
"cold"=> [ "image" => "cold.jpg", "desc" => "mah mah mah"],
"water"=> [ "image" => "water.jpg", "desc" => "mah mah mah"],
],
];
$featuredArr = [
"KC" => "Ice",
"PT" => "cat",
];
foreach ($featuredArr as $key => $value) {
if ($productArr[$key][$value]) {
echo "key $key=>$value exists: <br />";
foreach ($productArr[$key][$value] as $newKey => $newValue) {
echo "$newKey['image']<br />";
}
}
}
Я также хочу, чтобы это звучало как «KC», так и «PT» из $ featuredArr. в настоящее время выводится только «Cat».
У вас есть ошибка синтаксиса. 'echo '$ newKey [' image ']
"; 'должно быть' echo' {$ newKey ['image']}
";'. Как он работает вообще? – Barmar
Illegal string offset 'image' – Jun
Это потому, что '$ newKey' - это строка, а не массив. – Barmar