如何在PHP中初始化多维数组预设键
我有一个常数定义为:如何在PHP中初始化多维数组预设键,php,multidimensional-array,initialization,Php,Multidimensional Array,Initialization,我有一个常数定义为: define('CONFIG_CODES', 'v1,v2,v3'); 我想使用常量中定义的配置代码作为数组键来初始化多维数组。我尝试了array\u fill\u keys()。我想要初始化的原因是为了避免PHP脚本结果中的未定义索引:v2和未定义偏移量:0 以下是我希望初始化的样子: Array ( [v1] => Array ( [0] => [1] =>
define('CONFIG_CODES', 'v1,v2,v3');
我想使用常量中定义的配置代码作为数组键来初始化多维数组。我尝试了array\u fill\u keys()。我想要初始化的原因是为了避免PHP脚本结果中的未定义索引:v2
和未定义偏移量:0
以下是我希望初始化的样子:
Array
(
[v1] => Array
(
[0] =>
[1] =>
)
[v2] => Array
(
[0] =>
[1] =>
)
[v3] => Array
(
[0] =>
[1] =>
)
)
我的尝试:
$serviceTimes=数组填充键(数组(配置码),”
创建一个空的$initialized
数组,然后使用分解的值作为关联键,循环遍历常量值的分解结果:
define('CONFIG_CODES', 'v1,v2,v3');
$initialized = array();
foreach(explode(',', CONFIG_CODES) as $val){
$initialized[$val] = array(
'val1',
'val2'
);
}
创建一个空的$initialized
数组,然后使用分解的值作为关联键,循环遍历常量值的分解结果:
define('CONFIG_CODES', 'v1,v2,v3');
$initialized = array();
foreach(explode(',', CONFIG_CODES) as $val){
$initialized[$val] = array(
'val1',
'val2'
);
}
这可能是你要找的东西
define( 'CONFIG_ARRAY', 'v1, v2, v3' );
define( 'VALUES', 2 );
function makeArray()
{
$array = array();
$versions = explode( ',', CONFIG_ARRAY );
foreach ( $versions as $version )
{
$array[$version] = array();
for( $i = 0; $i < VALUES; $i++ )
{
$array[$version][$i] = '';
}
}
return $array;
}
define('CONFIG_ARRAY','v1、v2、v3');
定义(‘值’,2);
函数makeArray()
{
$array=array();
$versions=explode(“,”,配置数组);
foreach($versions作为$version)
{
$array[$version]=array();
对于($i=0;$i
这将是一个生成器函数,但您可以从函数中删除代码并使用它生成阵列。这可能与您正在寻找的类似
define( 'CONFIG_ARRAY', 'v1, v2, v3' );
define( 'VALUES', 2 );
function makeArray()
{
$array = array();
$versions = explode( ',', CONFIG_ARRAY );
foreach ( $versions as $version )
{
$array[$version] = array();
for( $i = 0; $i < VALUES; $i++ )
{
$array[$version][$i] = '';
}
}
return $array;
}
define('CONFIG_ARRAY','v1、v2、v3');
定义(‘值’,2);
函数makeArray()
{
$array=array();
$versions=explode(“,”,配置数组);
foreach($versions作为$version)
{
$array[$version]=array();
对于($i=0;$i
这将是一个生成器函数,但您可以从函数中删除代码并使用它生成数组。您可以定义'CONFIG\u CODES'
作为下面构造的数组?嗯,我更喜欢用PHP编程。我已经分解了常量,我有一个foreach()
来识别各个键。我只是不知道如何获取每个配置代码,并将其设置为数组键来初始化@ICE76。您能展示一下您初始化这些键的尝试吗?我可以帮忙@OPI修改我的OQ@ICE76你差不多就到了,使用array\u fill\u键(explode(',',CONFIG_code),array(null,null))
()就可以了(调整数组(…)
部分,以你想要的作为每个数组项的值)。您可以将'CONFIG\u CODES'
定义为一个数组,就像您在下面构造它一样?嗯,我更喜欢用PHP编程。我已经分解了常量,我有一个foreach()
来识别各个键。我只是不知道如何获取每个配置代码,并将其设置为数组键来初始化@ICE76。您能展示一下您初始化这些键的尝试吗?我可以帮助@OPI修改我的OQ@ICE76你几乎就到了,使用array\u fill_键(explode(',',',CONFIG_code),array(null,null))
()可以完成这个任务(调整数组(…)
部分,以你想要的值作为每个数组项的值)。我很确定我尝试过了,仍然得到了关于索引和偏移量的PHP警告,但我会再试一次。感谢@commanderzildt在我的机器上正确输出上述示例。如果你收到一条错误消息,请告诉我它是什么。这条消息有效。我想我忽略了初始的$initialized=array()代码>。我知道这一点,因为我不记得在我的一次尝试中有过。非常感谢你的帮助!!我很确定我试过了,但仍然得到了关于索引和偏移量的PHP警告,但我会再试一次。感谢@commanderzildt在我的机器上正确输出上述示例。如果你收到一条错误消息,请告诉我它是什么。这条消息有效。我想我忽略了初始的$initialized=array()代码>。我知道这一点,因为我不记得在我的一次尝试中有过。非常感谢你的帮助!!谢谢@Ice76。这一个可能有效,但我测试并使用了另一个答案。它也更紧凑(更轻)。谢谢@Ice76。这一个可能有效,但我测试并使用了另一个答案。它也更紧凑(更轻)。