【问题标题】:Correct image path from an array数组中的正确图像路径
【发布时间】:2018-11-08 15:23:40
【问题描述】:

我正在尝试显示一个图像,其中路径是在一个数组中定义的 not 来自数据库。

首先index.php 调用app/app.php,然后包含来自animals.php$animals 数组。

问题是如何访问index.php中的$animals并获取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/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',
         ],
    ],
];

我无法解决它令人沮丧。也许有人可以帮忙。

【问题讨论】:

  • pics是一个子数组,所以$animal['pics'][0]是第一个
  • var_dump 是你的朋友。也许用 xdebug 来获得漂亮的输出。养成破译这些转储的习惯很好。
  • 谢谢史密斯。请问我是否在animals.php中正确定义了'pics'?

标签: php arrays image


【解决方案1】:

看看这是否有帮助...

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_arrayrecursion

【讨论】:

    猜你喜欢
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 2020-09-15
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多