我正在尝试将PHP数组转换为字符串。这就是当我print_r
:时阵列的样子
Array (
[0] => Array (
[0] => Some text
)
[1] => Array (
[0] => some more text
)
[2] => Array (
[0] => SomeText
)
)
这是我尝试使用的代码:
foreach($a as $b){
$c.= ", $b";
}
但随着Array Array Array
不断出现这种情况。
只需初始化字符串,然后使用array_walk_recursive()
遍历每个值并将其附加到字符串中。最后只需用rtrim()
:删除最后一个逗号
$str = "";
array_walk_recursive($arr, function($v)use(&$str){$str .= $v . ",";});
echo $str = rtrim($str, ",");
优点?数组有多少维度并不重要。
foreach($a as $b){
$c.= ", ".$b[0];
}
你所拥有的实际上是一个多维数组。因此,在这种情况下,$b仍然是一个数组,0是您需要检索的偏移量,因此您需要$b[0]
。
这基本上是一个包含数组的数组,因此您需要迭代内部数组。
foreach($a as $b){
// b is array here
foreach($b as $actualValues){
$c.= ",".$actualValues[0];
}
}
因此,给定样本数组,它是多维的。如果要显示用逗号分隔的内部数组值:
foreach($a as $v) {
echo implode(', ', $v);
}
如果需要将所有内容连接到逗号分隔的列表中,则:
foreach($a as $v) {
$result[] = implode(', ', $v);
}
echo implode(', ', $result);
您有一个数组,由数组组成,其中一个元素包含您的Text。因此,您正在尝试打印一个包含字符串的数组。这样试试:
foreach($a as $b){
$c.= ", ".$b[0];
}