尝试访问存在的数组中的键时,PHP 未定义索引

我的数据库中的表中有许多行(成分),我使用以下代码迭代并使用每个的名称填充我的视图,但我希望能够显示子/父(列DB),我能够正确注销这些值,但是当我尝试如下回显时,我收到“消息:未定义索引:父母”和“消息:未定义索引:儿童”;


<?php foreach ($ingredient as $row => $key) { ?>

    <tr>

        <td><?php echo $row + 1; ?> </td>

        <td><?php echo $key['name']; ?> </td>

        <?php ChromePhp::log($key['parents']); ?>

        <td><?php echo $key['parents']; ?> </td>

        <?php ChromePhp::log($key['children']); ?>

        <td><?php echo $key['children']; ?> </td>

        <td>

    </tr>

<?php } ?>

我很困惑,因为我没有问题将其注销。我认为这可能是由于空值,所以我为孩子/父母为每一行分配了一个字符串值,如下所示;

http://img3.mukewang.com/60cdb0ef000189fe06880161.jpg

但错误仍然存在。

这是浏览器中记录的输出;

http://img4.mukewang.com/60cdb0f90001be0305380082.jpg

输出 <?php ChromePhp::log($key); ?>

http://img.mukewang.com/60cdb10900013bc107250064.jpg

编辑:这是我如何构建 $ingredients 数组;


<?php


    function get_ingredient()

    {

        $qry = "SELECT CONCAT(UPPER(LEFT(i.name, 1)), LCASE(SUBSTRING(`name`, 2))) as name,i.id as id,'ingredient' as type, i.parents as parents, i.children as children FROM `ingredient` i WHERE i.is_del=0 order by i.name asc";

        $qry = $this->db->query($qry);


        if ($qry->num_rows() > 0) {

            $ingr = $qry->result_array();

        } else {

            $ingr = array();

        }

    }

    ?>

我想我错过了一些基本的东西,任何建议都将不胜感激。干杯。

心有法竹
浏览 190回答 3
3回答

慕村225694

<?php foreach ($ingredient as $row => $key) { ?><tr>&nbsp; &nbsp; <td><?php echo $row + 1; ?> </td>&nbsp; &nbsp; <?php if(isset($key['name']) && !empty($key['name'])):?>&nbsp; &nbsp; <td><?php echo $key['name']; ?> </td>&nbsp; &nbsp; <?php endif;?>&nbsp; &nbsp; <?php if(isset($key['parents']) && !empty($key['parents'])):?>&nbsp; &nbsp; &nbsp; &nbsp; <?php ChromePhp::log($key['parents']); ?>&nbsp; &nbsp; &nbsp; &nbsp; <td><?php echo $key['parents']; ?> </td>&nbsp; &nbsp; <?php endif;?>&nbsp; &nbsp; <?php if(isset($key['children']) && !empty($key['children'])):?>&nbsp; &nbsp; &nbsp; &nbsp; <?php ChromePhp::log($key['children']); ?>&nbsp; &nbsp; &nbsp; &nbsp; <td><?php echo $key['children']; ?> </td>&nbsp; &nbsp; <?php endif;?></tr>

慕村9548890

我的数组有两组数据,我通过将数组限制为一组来解决这个问题。

莫回无

$key 看起来像一个对象,因此您必须使用 -> 来访问它,因此要获取名称的值,请使用 $key->name,$key->parents
打开App,查看更多内容
随时随地看视频慕课网APP