Php foreach修剪字符和I';我没有告诉它!

Php foreach修剪字符和I';我没有告诉它!,php,foreach,Php,Foreach,我已经把它清理到了我知道有问题的地方。坦率地说,我有一个foreach语句,用一个字符将结果全部切掉。下面评论中的示例 print_r($getarticlemultiarray); /// this print_r returns good values like [title] => titletext [body] => bodytext foreach ($getarticlemultiarray as $zyz) { echo $zyz['title']; //

我已经把它清理到了我知道有问题的地方。坦率地说,我有一个foreach语句,用一个字符将结果全部切掉。下面评论中的示例

print_r($getarticlemultiarray);

/// this print_r returns good values like [title] => titletext [body] => bodytext
foreach ($getarticlemultiarray as $zyz)  {
    echo $zyz['title'];
// here is the problem.  This echo statement is only throwing out 1 character
 // for example with the values in the example above it's just echoing a 't'.

}  // end foreach

这个foreach嵌套在另一个foreach中,但我不使用字符串长度,也不在其他任何地方使用$zyz。除了没有特殊字符的普通单词之外,没有什么奇怪的东西。

根据你所说的,看起来你的印刷品本质上是

Array (
   ['title'] => 'titletext',
   ['body'] => 'bodytext
)

在这种情况下,您的
foreach
分别将
$zyz
设置为
titletext
bodytext
。这些字符串没有“title”键。PHP将把这些键视为0,然后返回第一个字符(因此您会看到一个“t”)。看起来你不必在这里循环。

你能给出打印的准确输出吗,也可以在foreach循环中尝试打印($xyz)并给出它吗?我认为你已经“过度清理”了-如果<代码>打印如你所述,这个例子会起作用。因此,您正在执行导致该问题的其他操作(或者正确的位是
echo
'd,但由于CSS呈现问题等原因,您无法看到它们)。如果我打印打印($zyz)它与我应该得到的不匹配。它只从数组中获得标题。但是它是一个完整的值-不是截断的。它应该在那里有标题和正文值,对吗?@gww print\r($getarticlemultiarray);发送:数组([title]=>test[body]=>dgdgdgaaggagtest)我觉得很傻。我把数组做成这样$getarticlemultiarray=array(“title”=>“$articletitle”,“body”=>“$articlesdisplay”);而不是像这样的$getarticlemultiarray[]=array(“title”=>“$articletitle”,“body”=>“$articlesdisplay”);