php更改名称以构造关联数组

时间:2014-03-14 05:45:11

标签: php arrays associative-array extend

在php中是否可以更改用于创建关联数组的名称?我在php中使用mongo,但在索引数组和关联数组的两种情况下使用array()会让人感到困惑。我知道你可以通过窃取Array.prototype方法在javascript中完成它但是可以在php中完成我的扩展本机对象吗?如果array()assoc()它们会创造相同的东西会更容易。

编辑-------

在特里斯坦的带领下,我轻松地完成了这个简单的功能 在php中写入json。它甚至可以从内部变量 你的PHP整个事情都用引号括起来。

$one = 'newOne';
$json = "{
    '$one': 1,
    'two': 2
}";

// doesn't work as json_decode expects quotes.
print_r(json_decode($json));

// this does work as it replaces all the single quotes before 
// using json decode.
print_r(jsonToArray($json));

function jsonToArray($str){
    return json_decode(preg_replace('/\'/', '"', $str), true);
}

1 个答案:

答案 0 :(得分:1)

在PHP中,没有“用于创建关联数组的名称”或“用于创建索引数组的名称”。 PHP数组是有序的地图,就像许多其他脚本语言一样。

这意味着您可以以任何方式使用数组。

如果你想要一个索引数组..

$indexedArray = array();

$indexedArray[] = 4; // Append a value to the array.

echo $indexedArray[0]; // Access the value at the 0th index.

甚至......

$indexedArray = [0, 10, 12, 8];

echo $indexedArray[3]; // Outputs 8.

如果要对数组使用非整数键,只需指定它们即可。

$assocArray = ['foo' => 'bar'];

echo $assocArray['foo']; // Outputs bar.