欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php 把键名为数字的数组 array(0=>'a',1=>'b') 变成 键名为字符串索引的数组 array('0'=>'a','1'=>'b') 文心一言 chatgpt 有大用

在 PHP 中,将一个关联数组(其键可以是整数或字符串)转换为一个完全使用字符串索引的数组,可以通过显式地设置每个键为字符串来实现。然而,在 PHP 中,如果数组键是整数且未显式指定为字符串,PHP 通常会以整数形式处理这些键。不过,可以通过遍历数组并手动设置字符串键来强制转换为字符串索引。


下面是一个简单的例子,展示了如何将一个包含整数键的关联数组转换为完全使用字符串索引的数组:

php复制代码

<?php

// 原始数组

$originalArray = array(0 => 'a', 1 => 'b');



// 新数组,将键显式转换为字符串

$newArray = [];

foreach ($originalArray as $key => $value) {

// 使用 (string) 强制转换键为字符串

$newArray[(string)$key] = $value;

}



// 打印结果

print_r($newArray);

?>

运行这段代码,你将得到以下输出


复制代码

Array

(

[0] => a

[1] => b

)

注意,尽管在打印输出时,键看起来像整数(没有引号),但它们实际上是字符串。这是因为 print_r 函数在输出时不会为字符串形式的数字键添加引号。然而,如果你使用 var_dump 来检查数组,你会看到键的类型是字符串:

php复制代码

<?php

var_dump($newArray);

?>

输出:

复制代码

array(2) {

["0"]=>

string(1) "a"

["1"]=>

string(1) "b"

}

这表明键确实是以字符串形式存储的。


普通分类: