PHP 数组转字符串转换

2025年4月17日 | 阅读7分钟

在使用 PHP 工作时,我们经常会遇到与数组相关的问题,在这些问题中,我们无法直接操作数组。为了解决这个问题,我们首先需要将数组转换为字符串,然后才能有效地处理单个元素。

字符串用于按顺序存储字符,并将它们作为单个实体以单个数据类型表示。因此,数据存储是灵活的,易于处理,而数组以特定实体存储数据,并且数据存储是固定的。

我们将通过三种方法在 PHP 中将数组元素转换为字符串。

1) PHP 中的 Implode() 函数

IMPLODE() 函数 是一个内置的 PHP 函数,主要用于连接已声明数组的所有元素。当所有数组元素连接在一起时,它们形成一个字符串,implode() 的工作方式类似于 PHP 中的 join() 函数,并以字符串形式返回该值。

注意:- 数组以字符串的形式表示,但基本数据类型仍为数组。如果我们对转换后的字符串使用 gettype() 函数,它仍然会显示数组。

这里的 **separator** 指的是在将数组元素转换为字符串时需要在它们之间添加的内容。默认值是空字符串 "",但我们可以添加许多不同的值,例如 "," "-" "_" "+" ";" ":" 等。

**Array** 指将要连接为字符串的数组。

**示例:** 将数组转换为字符串。

当我们执行上述代码时,编译器将输出 -

Array ( [0] = > This [1] = > Array [2] = > Will [3] = > Be [4] = > Converted [5] = > To [6] = > A [7] = > String ) 
converted array 
This Array Will Be Converted To A String
  • 在上面的代码中,首先,我们声明了一个名为 $arra 的数组并为其赋值。这里每个元素都被视为一个独立的身份。
  • 为了显示原始数组,我们使用了 Print_r 函数,它会单独显示每个数组。
  • 最后,我们使用了 implode() 函数,它将数组的所有元素转换为字符串。我们初始化了两个参数:**separator** ""(在元素之间添加空格)和 **array name**(定义数组)。

**示例:** 使用不同的参数将数组转换为字符串。

当我们执行上述代码时,编译器将输出 -

Default array
Array ( [0] => This [1] => Is [2] => An [3] => ARRAY [4] => ! ) 
Array to string
This Is An ARRAY ! 
This _ Is _ An _ ARRAY_ ! 
This - Is - An - ARRAY- ! 
This / Is / An / ARRAY/ ! 
Data type: -
Array
  • 在上面的代码中,我们首先声明了一个名为 $arra 的数组并为其赋值。这里每个元素都被视为一个独立的身份。
  • 为了显示原始数组,我们使用了 Print_r 函数,它会单独显示数组的每个元素。
  • 然后,我们使用了 implode() 函数,它将所有数组元素转换为字符串。最后,我们为 **separator** 初始化了不同的值,以在元素之间添加空格。
  • 最后,我们对转换后的数组使用了 gettype() 函数,以表明即使转换为字符串,数组的初始数据类型仍然保持不变。

注意:我们可以使用 explode() 函数将字符串再次转换回数组。

**示例 ->** 将字符串转换回数组

当我们执行上述代码时,编译器将输出 -

original string -> we will convert the string back to an array 
converted array -> Array ( [0] = > we [1] = > will [2] = > convert [3] = > string [4] = > back [5] = > to [6] = > array )
  • 在上面的代码中,首先,我们声明了一个名为 $strng 的数组并为其赋值。
  • 然后,我们使用了 explode() 函数,它将所有字符串元素转换回数组。最后,我们将转换后的字符串存储在一个名为 $arra 的变量中。
  • 为了显示原始数组,我们使用了 Print_r 函数,它会单独显示每个数组。

2) PHP 中的 Join() 函数

Join() 函数 是一个内置的 PHP 函数,通常用于连接数组并返回一个字符串。

**A separator** 指的是在将数组元素转换为字符串时需要在它们之间添加的内容。默认值是空字符串 "",但我们可以添加许多不同的值,例如 ", " "-" "_" "+" ";" ":" 等。

**Array** 指将要连接为字符串的数组。

**示例:** 使用 join 将数组转换为字符串。

当我们执行上述代码时,编译器将输出 -

original array 
Array ( [0] = > This [1] = > Array [2] = > Will [3] = > Be [4] = > Converted [5] = > To [6] = > A [7] = > String ) 
converted array 
This Array Will Be Converted To A String 
This _ Array _ Will _ Be _ Converted _ To _ A _ String
  • 在上面的代码中,首先,我们声明了一个名为 $arra 的数组并为其赋值。这里每个元素都被视为一个独立的身份。
  • 为了显示原始数组,我们使用了 Print_r 函数,它会单独显示每个数组。
  • 最后,我们使用了 join() 函数,它将数组的所有元素转换为字符串。我们初始化了两个参数:**separator** "" 和 " _ "(在元素之间添加空格)和 **array name**(定义数组)。

3) PHP 中的 Json_encode() 函数

Json_encode() 函数是一个内置的 PHP 函数,通常用于将 PHP 中的数组和对象转换为 JSON 字符串(JavaScript 对象表示法)表示。

注意:- JSON 通常用于从 Web 服务器检索数据并在网页上显示相同内容。

**Array/object name** 指将要连接为字符串的数组。

**示例 ->** 使用 json_encode 将数组转换为字符串

当我们执行上述代码时,编译器将输出 -

{"f-name":"ABC","l-name":"DEF","0":{"email":"<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5a3b38391a3e3f3c74393537">[email protected]</a>","mobile":"abcdefghij","0":{"address":"klmnopqrst","city":"OAB","pincode":"110090"}}}
  • 在上面的代码中,我们首先声明了一个名为 $profile 的数组,并在变量中声明了一个多维数组。
  • 在声明了一个名为 $json 的变量后,它将用于保存来自
  • 然后,我们使用了 json_encode() 函数,它将数组的所有元素转换为字符串。
  • 最后,我们使用 echo($json) 来获取输出字符串。

下一主题PHP 字符串