Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php foreach循环未定义索引:title_Php_Codeigniter - Fatal编程技术网

Php foreach循环未定义索引:title

Php foreach循环未定义索引:title,php,codeigniter,Php,Codeigniter,我试图使用foreach循环输出一些博客文章的结果,但我不断得到错误“Undefined index:title” 我是php的noob,如果这有什么不同的话,我也在使用codeigniter(我认为不应该)。如果我使用下面的代码,我可以打印出文章的标题,但这不是我想要的,因为我想在以后添加更多的字段 <?php foreach ($post['title] as $post_item):?> <div class="postDiv"> <h4><?ph

我试图使用foreach循环输出一些博客文章的结果,但我不断得到错误“Undefined index:title”

我是php的noob,如果这有什么不同的话,我也在使用codeigniter(我认为不应该)。如果我使用下面的代码,我可以打印出文章的标题,但这不是我想要的,因为我想在以后添加更多的字段

<?php foreach ($post['title] as $post_item):?>
<div class="postDiv">
<h4><?php echo $post_item;?></h4>
</div>
<?php endforeach;?>

您的post信息似乎基于数字引用被分割到多个数组键上,因此您可以使用该数字键引用访问包含其余数据的同级数组键

foreach($post['id'] as $key => $id) {
    $title = $post['title'][$key];
    $summary = $post['summary'][$key];
    $content = $post['content'][$key];
}

您的阵列在某种程度上与您的设计不一致

<?php foreach (array_keys($post["id"]) as $key):?>
<div class="postDiv">
    <h4><?php echo $post['title'][$key];?></h4>
    <p><?php echo $post['summary'][$key];?></p>
</div>
<?php endforeach;?>


仅供您理解: 使用foreach($a as$k),您将迭代一个数组$a,并在每次迭代中放入$k中的一个第一级元素

所以,在第一次迭代中

$post_项目将被删除

 array(5) { 
    [0]=> string(2) "15" 
    [1]=> string(2) "16" 
    [2]=> string(2) "17" 
    [3]=> string(2) "18" 
    [4]=> string(2) "19" } 
第二个$post_项目将是:

array(5) { 
    [0]=> string(3) "234" 
    [1]=> string(2) "11" 
    [2]=> string(1) "2" 
    [3]=> string(3) "444" 
    [4]=> string(5) "title" } 
等等

我甚至不认为这个secodn级别的索引,0,1,2,3,4,5对您有特定的意义,而且可以肯定的是,如果您这样做,
foreach(array_keys($post[“id”])…)
将等同于从harcoded 0迭代到count($post),如果您将
foreach($post[“id”]作为$k)进行迭代
然后使用$k作为其他元素的索引,这是不可行的,因为id的值不是任何其他元素的键。因此,您将得到许多未定义的索引警告


而且我也不确定每个元素的右边的值是否真的对你有用。因此,我们可以在这里找到一些技巧来获得您想要的结果,但您需要修复的是,在创建$post

之前的一步,即
$post
中每个数组值的$key。事实上,
$post\u item['summary']
应该会出现相同的错误。很抱歉,是的,summaryHi Carlos也出现了相同的错误。我确实根据下面的评论修复了它。稍后我会发布完整的代码today@malkocoglu我不想责怪你的代码,抱歉误会。我说的不起作用的不是代码,这是可以的,而是解决方案。对于这个当前的问题,它是一个有效的解决方案,但我认为真正的问题是一步之前。让我们看看:第二级不是一个关联数组,所以
array\u keys($post[“id”]
与从0到
计数的
相同($post[“id”])-1
。此外,项目是混合的。可能这不是最好的数组,并且可能会由此产生一些进一步的错误。在其他博客中,您会发现一个数组,其中第一级中的每个项目都是一篇文章,有自己的文章data@Carlos罗伯斯,我同意你的看法……对不起,恐怕我确实看错了什么东西,或者我在解释时出错了我所看到的我认为不完全正确。我删除了这里的评论,并将在另一条中解释我自己。
<?php foreach (array_keys($post["id"]) as $key):?>
<div class="postDiv">
    <h4><?php echo $post['title'][$key];?></h4>
    <p><?php echo $post['summary'][$key];?></p>
</div>
<?php endforeach;?>
 array(5) { 
    [0]=> string(2) "15" 
    [1]=> string(2) "16" 
    [2]=> string(2) "17" 
    [3]=> string(2) "18" 
    [4]=> string(2) "19" } 
array(5) { 
    [0]=> string(3) "234" 
    [1]=> string(2) "11" 
    [2]=> string(1) "2" 
    [3]=> string(3) "444" 
    [4]=> string(5) "title" }