我想定义一个二维数组,如下所示:
[40.1][John]
[40.2][Jane]
[40.7][Mary]
[40.10][Sara]
Run Code Online (Sandbox Code Playgroud)
换句话说,我想用自定义键定义一个数组.稍后我需要使用自定义键访问数组值.例如 :
echo(myarray[40.2]);
Run Code Online (Sandbox Code Playgroud)
我需要从XML动态生成数组,因为值来自XML文件.我想从中生成数组的XML文件如下所示:
<rules>
<rule>
<id>40.1</id>
<regex><![CDATA[/(?:\)\s*when\s*\d+\s*then)/]]></regex>
</rule>
<rule>
<id>40.2</id>
<regex><![CDATA[/(?:"\s*(?:#|--|{))/]]></regex>
</rule>
Run Code Online (Sandbox Code Playgroud)
我应该如何创建具有上述特征的数组?
Rob*_*ert 10
您可以通过创建关联数组来轻松完成此操作
$myarray = array(
"40.1" => "John",
"40.2" => "Jane",
"40.7" => "Mary",
"40.10" => "Sara"
);
Run Code Online (Sandbox Code Playgroud)
稍后,您可以使用foreach循环遍历此数组
foreach($myarray as $key => $value) {
echo "<p>" . $key . " = " . $value . "</p>";
}
Run Code Online (Sandbox Code Playgroud)
这将输出到屏幕
40.1 = John
40.2 = Jane
40.7 = Mary
40.10 = Sara
Run Code Online (Sandbox Code Playgroud)
创建新数组并添加项目就像这样简单
$myarray = array();
$myarray[$newkey] = $newvalue;
Run Code Online (Sandbox Code Playgroud)
对于二维数组,您可以像这样定义它们
$myarray = array();
$myarray[$key] = array();
$myarray[$key]['John'] = 'some value';
$myarray[$key]['Jane'] = 'another value';
$myarray[$key2] = array();
$myarray[$key2]['Mary']= 'yet another value';
Run Code Online (Sandbox Code Playgroud)
或者作为捷径
$myarray = array(
$key => array(
'John' => 'some value',
'Jane' => 'another value',
),
$key2 = array(
'Mary' => 'yet another value'
)
);
Run Code Online (Sandbox Code Playgroud)