Php 显示分解阵列

Php 显示分解阵列,php,arrays,Php,Arrays,这是一个很难回答的问题。先前的开发人员已经将代码行编码如下 $a = array("30"=>"ok","40"=>"yes"); $b = "hi"; $c = $a."|".$b; $d = explode("|",$c); print_r($d[0]); 如何显示数组数组(“30”=>“ok”,“40”=>“yes”)打印($d[0])似乎只打印数组这会打印“数组”而不是实际的数组值,因为这行: $c = $a."|".$b; 你所做的是说: $c = [array

这是一个很难回答的问题。先前的开发人员已经将代码行编码如下

$a = array("30"=>"ok","40"=>"yes");

$b = "hi";

$c = $a."|".$b;

$d = explode("|",$c);

print_r($d[0]);
如何显示数组
数组(“30”=>“ok”,“40”=>“yes”)
<代码>打印($d[0])似乎只打印
数组

这会打印“
数组
”而不是实际的数组值,因为这行:

$c = $a."|".$b;
你所做的是说:

$c = [array] + [string] + [string];
这将强制将
数组
转换为一个
字符串
,即“数组”

如果确实需要一个
|
分隔的数组索引字符串,理论上可以这样做:

$c = implode("|",$a)."|".$b;
但真正的最佳解决方案是在分解阵列之前向阵列中添加一些内容:

$a['50'] = 'hi';
$d = explode("|", $c);

@IdealBakija:它不起作用。为什么不干脆
print\u r($d)
?@Kristian:输出将是
Array([0]=>Array[1]=>hi)
我想打印
[0]=>Array
您尝试过printf吗?是的,这正是由于将数组强制转换为字符串,这是使用串联运算符的结果。无法还原原始数组,因为它是以这种方式转换为字符串的。谢谢。然后我应该重新编码整个事情。是的,你应该。考虑将项目直接添加到数组中,然后爆炸。我编辑了我的答案