如何在php中将元素附加到具有特定索引的数组中
我是php新手。 我试图得到特殊数组中每个元素的键和值。我想从零索引开始将它们保存/推入另一个数组。 当然(foreach循环)是这里最好的工具。请帮我查一下你的密码。 我知道描述这个问题有点难,所以我有一些图纸给你如何在php中将元素附加到具有特定索引的数组中,php,arrays,indexing,push,Php,Arrays,Indexing,Push,我是php新手。 我试图得到特殊数组中每个元素的键和值。我想从零索引开始将它们保存/推入另一个数组。 当然(foreach循环)是这里最好的工具。请帮我查一下你的密码。 我知道描述这个问题有点难,所以我有一些图纸给你 $info = array( <--key--> <--value--> [10] => 'apple', [8] => 'orange', [2] => 'banana', [23] =&
$info = array(
<--key--> <--value-->
[10] => 'apple',
[8] => 'orange',
[2] => 'banana',
[23] => 'peach',
)
now I want to have an array like this:
$myGoal = array(
<-key-> <--------value--------->
[0] => array('10'=>'apple'),
[1] => array('8'=>'orange'),
[2] => array('2'=>'banana'),
[3] => array('23'=>'peach')
)
我将非常感谢任何能帮助我的人。关于语法
$myGoal[$index]=[$amount][$friut]代码>
等号后面的部分正在创建一个单个值为$amount
的数组,然后尝试索引到不存在的值为$friut
的数组中
您可以更新语法,使用key=>value
改变
$myGoal[$index] = [$amount][$friut];
到
输出
Array
(
[0] => Array
(
[10] => apple
)
[1] => Array
(
[8] => orange
)
[2] => Array
(
[2] => banana
)
[3] => Array
(
[23] => peach
)
)
正如@指出的,如果您只想追加,那么您不需要索引,您可以使用
$myGoal[] = [$amount => $friut];
关于语法$myGoal[$index]=[$amount][$friut]代码>
等号后面的部分正在创建一个单个值为$amount
的数组,然后尝试索引到不存在的值为$friut
的数组中
您可以更新语法,使用key=>value
改变
$myGoal[$index] = [$amount][$friut];
到
输出
Array
(
[0] => Array
(
[10] => apple
)
[1] => Array
(
[8] => orange
)
[2] => Array
(
[2] => banana
)
[3] => Array
(
[23] => peach
)
)
正如@指出的,如果您只想追加,那么您不需要索引,您可以使用
$myGoal[] = [$amount => $friut];
您可以使用块大小为1的array\u chunk
执行此操作
$myGoal = array_chunk($info, 1, true);
确保将第三个参数设置为true
以保留键
另外,与您的要求没有直接关系,但我想建议使用amount作为数组键是有风险的。如果您有相同数量的两个项目,则第二个项目将覆盖第一个项目。您可以使用块大小为1的array\u chunk
执行此操作
$myGoal = array_chunk($info, 1, true);
确保将第三个参数设置为true
以保留键
另外,与您的要求没有直接关系,但我想建议使用amount作为数组键是有风险的。如果两个项目的数量相同,则第二个项目将覆盖第一个项目。首先初始化数组,然后将键值存储到新数组中
$info = array("10" => 'apple',"8" => 'orange',"2" => 'banana',"23" => 'peach');
$new=array();
foreach($info as $key=>$info1)
{
$new[] = [$key=>$info1];
}
echo "<pre>";
print_r($new);
$info=array(“10”=>“苹果”、“8”=>“橙色”、“2”=>“香蕉”、“23”=>“桃子”);
$new=array();
foreach($info as$key=>$info1)
{
$new[]=[$key=>$info1];
}
回声“;
印刷(新);
希望这有帮助。首先初始化数组,然后将键值存储到新数组中
$info = array("10" => 'apple',"8" => 'orange',"2" => 'banana',"23" => 'peach');
$new=array();
foreach($info as $key=>$info1)
{
$new[] = [$key=>$info1];
}
echo "<pre>";
print_r($new);
$info=array(“10”=>“苹果”、“8”=>“橙色”、“2”=>“香蕉”、“23”=>“桃子”);
$new=array();
foreach($info as$key=>$info1)
{
$new[]=[$key=>$info1];
}
回声“;
印刷(新);
希望这有帮助。您可以使用数组_-walk
,如果您想从0
开始,则无需声明$index=0
。您只需使用$n[]
它将从0
索引自动启动
工作示例:-您可以使用array\u walk
,如果您想从0
开始,则无需声明$index=0
。您只需使用$n[]
它将从0
索引自动启动
工作示例:-如果您只关心追加,您还可以删除$index
变量并将其设置为$myGoal[]=…
。如果您只关心追加,您还可以删除$index
变量并将其设置为$myGoal[]=…
。您的想法是最短的方法,结果也不错,tnx你的想法是最短的方法,结果是可以的,tnx