php怎么将二维数组转为字符串

转换步骤:1、使用array_reduce()函数将二维数组转为一维数组,语法“array_reduce(二维数组, ‘array_merge’, array())”,会返回一个包含二维数组中所有元素值的一维数组;2、使用implode()函数将一维数组转为字符串即可,语法“implode(“分隔符”,一维数组)”。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

在PHP中,可以使用array_reduce()函数和implode()函数来将二维数组转为字符串。

实现步骤:

步骤1:使用array_reduce()函数将二维数组转为一维数组

array_reduce() 函数发送数组中的值到用户自定义函数,并返回一个字符串。

array_reduce(array,myfunction,initial)
参数 描述
array 必需。规定数组。
myfunction 必需。规定函数的名称。
initial 可选。规定发送到函数处理的第一个值。

只需要使用array_reduce()调用array_merge()函数即可将二维数组转为一维数组

$result = array_reduce($user, function ($result, $value) {
  return array_merge($result, array_values($value));
}, array())

因为array_merge函数会把相同字符串键名的数组覆盖合并,所以必须先用array_value取出值后再合并。

如果第二维是数字键名,那么直接这样就可以了:

$result = array_reduce($user, 'array_merge', array())

会返回一个包含二维数组中所有元素值的一维数组,示例:

<?php
header('content-type:text/html;charset=utf-8');   
$user = array(
  'a' => array(100, 'a1'),
  'b' => array(101, 'a2'),
  'c' => array(102, 'a3'),
  'd' => array(103, 'a4'),
  'e' => array(104, 'a5'),
);
echo "原二维数组:";
var_dump($user);
$result = array_reduce($user, 'array_merge', array());
echo "转为一维数组后:";
var_dump($result);
?>

步骤2:使用implode()函数将一维数组转为字符串

implode() 函数可以将一个一维数组转化为字符串,其语法格式如下:

implode([$glue,]$array)
  • $glue 用来设置一个字符串,表示使用 $glue 将数组每个元素连接在一起,默认情况下 $glue 为空字符串;

  • $array 为需要转换的数组。

说明:implode() 函数的 $glue 参数是可选的,可以省略;默认连接符是 “”(空字符串)。

<?php
header('content-type:text/html;charset=utf-8');   
$user = array(
  'a' => array(100, 'a1'),
  'b' => array(101, 'a2'),
  'c' => array(102, 'a3'),
  'd' => array(103, 'a4'),
  'e' => array(104, 'a5'),
);
echo "原二维数组:";
var_dump($user);
$result = array_reduce($user, 'array_merge', array());
echo "转为一维数组后:";
var_dump($result);

echo "转为字符串后:";
var_dump(implode("",$result));
var_dump(implode("-",$result));
var_dump(implode(" ",$result));
?>