修改多维数组PHP中的键和值

修改多维数组PHP中的键和值,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我试图用PHP修改多维数组中的键和值 [0] => Array ( [price] => 1-0 [shipping] => 0-1 [description] => 0-1 [meta_title] => 0-1 ) [1] => Array ( [price] => 1-0 [shipping] => 0-1 [meta_title] => 0-1 ) 假设我想修改

我试图用PHP修改多维数组中的键和值

[0] => Array (
    [price] => 1-0
    [shipping] => 0-1
    [description] => 0-1
    [meta_title] => 0-1
    )
[1] => Array (
    [price] => 1-0
    [shipping] => 0-1
    [meta_title] => 0-1
    )
假设我想修改0中的
description
值和键名,出于某些原因,我想处理索引号,我的代码到目前为止,以及我遇到的问题:

$pageID = 0;
$text_id = 2;
$i=0;
foreach($oJson[$pageID] as $t => $f){
   if($i==$text_id){
   }
   $i++;
}
预期结果:

[0] => Array (
        [price] => 1-0
        [shipping] => 0-1
        [modified_description] => 2-3
        [meta_title] => 0-1
        )
    [1] => Array (
        [price] => 1-0
        [shipping] => 0-1
        [meta_title] => 0-1
        )
非常感谢您的宝贵帮助。

试试这个:

$oJson=array('0'=>数组(
“价格”=>“1-0”,
“配送”=>“0-1”,
“说明”=>“0-1”,
“元标题”=>“0-1”,
),
“1”=>数组(
“价格”=>“1-0”,
“配送”=>“0-1”,
“元标题”=>“0-1”,
)
);
$pageID=0;
$text_id=2;
foreach($oJson作为$key=>$subArray)
{
如果($key==$pageID)
{
$tempArray=array();
对于($i=0;$i

工作示例:

由于要保持关联键顺序,因此可以使用、和


如果($p=$pageID),请检查此行。这里的赋值不是比较。只要改变($p==$pageID)哦,是的,很好的发现,它不会改变我的问题。谢谢为什么要在整个数组中循环,而不是只访问要修改的密钥?基于
modified\u description
的条件结果是
2-3
?@Terminus这是真的我修改了我的代码两个答案都有效,但我发现这是最好的实用答案。谢谢!!
$oJson = array('0' => Array (
    'price' => '1-0',
    'shipping' => '0-1',
    'description' =>'0-1',
    'meta_title' => '0-1',
    ),
'1' => Array (
    'price' => '1-0',
    'shipping' => '0-1',
    'meta_title' => '0-1',
    )
);

$pageID = 0;
$text_id = 2;

foreach($oJson as $key => $subArray)
{
    if($key == $pageID)
    {
        $tempArray = array();
        for($i = 0; $i < count($subArray); $i++)
        {
            if($i == $text_id)
            {
                $tempArray = array_slice($subArray, 0, $text_id);
                $tempArray['modified_description'] = '2-3';
                $tempArray = array_merge($tempArray, array_slice($subArray, $text_id + 1));
            }
        }

        if(!empty($tempArray))
            $oJson[$key] = $tempArray;
    }
}


print_r($oJson);
$pageID = 0;
$text_id = 2;

$newKeys = array_keys($oJson[$pageID]);
$newValues = array_values($oJson[$pageID]);

$newKeys[$text_id] = 'modified_' . $newKeys[$text_id];
$newValues[$text_id] = '2-3';

$oJson[$pageID] = array_combine($newKeys, $newValues);