修改多维数组PHP中的键和值
我试图用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 ) 假设我想修改
[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);