Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中将元素附加到具有特定索引的数组中_Php_Arrays_Indexing_Push - Fatal编程技术网

如何在php中将元素附加到具有特定索引的数组中

如何在php中将元素附加到具有特定索引的数组中,php,arrays,indexing,push,Php,Arrays,Indexing,Push,我是php新手。 我试图得到特殊数组中每个元素的键和值。我想从零索引开始将它们保存/推入另一个数组。 当然(foreach循环)是这里最好的工具。请帮我查一下你的密码。 我知道描述这个问题有点难,所以我有一些图纸给你 $info = array( <--key--> <--value--> [10] => 'apple', [8] => 'orange', [2] => 'banana', [23] =&

我是php新手。 我试图得到特殊数组中每个元素的键和值。我想从零索引开始将它们保存/推入另一个数组。 当然(foreach循环)是这里最好的工具。请帮我查一下你的密码。 我知道描述这个问题有点难,所以我有一些图纸给你

$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