PHP:多维数组转一维数组实现方法咨询
解决PHP数组格式转换问题
看起来你想要的是去掉外层Array()包裹,只保留一维数组元素的字符串表示(其实你的原数组本身就是一个包含两个子数组的一维数组哦)。这里提供两种PHP实现方案:
方案一:处理print_r输出字符串
如果只是需要输出特定格式的字符串,可以先通过print_r获取数组的标准输出,再做字符串裁剪:
$originalArray = [ [0, 1, 2, 3, 10], [0, 1, 2, 3] ]; // 先获取print_r的输出字符串,第二个参数设为true表示返回字符串而非直接输出 $printOutput = print_r($originalArray, true); // 去掉开头的"Array ("和结尾的")" $result = trim(substr($printOutput, 6, -1)); // 输出结果 echo $result;
运行这段代码后,输出的就是你期望的格式:
[0] => Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 10 ) [1] => Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 )
方案二:手动遍历数组构建格式
如果你想手动控制输出格式,避免依赖print_r的输出结构,可以遍历数组逐个拼接:
$originalArray = [ [0, 1, 2, 3, 10], [0, 1, 2, 3] ]; $result = ''; foreach ($originalArray as $key => $subArray) { // 拼接当前元素的键和子数组的print_r结果 $subPrint = print_r($subArray, true); $result .= "[$key] => $subPrint "; } // 去掉末尾多余的空格 $result = trim($result); echo $result;
这个方案更灵活,如果你需要调整子数组的展示格式,还可以进一步修改拼接逻辑。
内容的提问来源于stack exchange,提问作者anonymous
相关产品推荐
相关产品推荐

