Я пытаюсь отобразить изображение, где путь определен в массиве нет из базы данных.
Сначала index.php вызывает app/app.php, который затем включает массив $animals из animals.php.
Проблема в том, как мне получить доступ к $animals в index.php и получить значение ключа pics?
index.php
<?php require_once __DIR__ . '/app/app.php';
//var_dump($animals);?>
<?php foreach ($animals as $animal): ?> <br>
<a href = "#"><?php echo $animal['name'] ?></a>
<?php echo $animal['size'] ?>
<img src = "<?php echo $animal['pics'] ?>" alt = "Pic 1">
<?php //echo "<img src='" . $pics . "' alt=''>"; ?>
<?php endforeach; ?>
приложение / app.php:
<?php
ini_set('display_errors', '1');
error_reporting('E_ALL');
$animals = require_once __DIR__ . '/Db/animals.php';
animals.php:
<?php
return [
[
'name' => 'cow',
'size' => 20,
'pics' => ['/photos/cow1.jpg'],
//'pics' => 'photos/cow1.jpg',
//'pics' => '<img class = "wrap" src = "photos/cow1.jpg">',
//'pics' => './photos/cow1.jpg';
'detailes' => [
'colour' => 'brown',
'origin' => 'N Italy',
],
],
];
Расстраивает то, что я не могу ее решить. Может кому поможет.
var_dump - ваш друг. Может быть, с xdebug для красивого вывода. Хорошо иметь привычку разбирать эти свалки.
Спасибо, Смит. Я спрашиваю вас, правильно ли я определил «картинки» в animals.php?






Посмотрим, поможет ли это ...
array(1) {
[0]=>
array(4) {
["name"]=>
string(3) "cow"
["size"]=>
int(20)
["pics"]=>
array(1) {
[0]=>
string(16) "/photos/cow1.jpg"
}
["detailes"]=>
array(2) {
["colour"]=>
string(5) "brown"
["origin"]=>
string(7) "N Italy"
}
}
}
Вы действительно хотите: echo $a[0]['pics'][0];
Массивы внутри массивов. Это действительно сбивает с толку, но быстро станет вашей второй натурой.
Поиграйте с var_dump ...
var_dump($a);
var_dump($a[0]);
etc...
или попробуйте повторить, когда вы в тупике ...
foreach ($a as $key => $value) {
echo "$key -> $value";
}
Это приведет к NOTICE Array to string conversion, потому что $value - это массив. Попробуйте добавить второй (вложенный) цикл foreach. Когда вы можете перебирать весь массив, вы знаете, что понимаете это ... см. Также: is_array и рекурсия.
pics - это подмассив, поэтому
$animal['pics'][0]- первый