我一直试图做几个小时,但我没有任何具体的想法。我想实现如下所示的结果。该数组派生自json文件。
我有:
[0] => Array(
[Id] => scr_1
[Size] => 1920, 1080
)
[1] => Array(
[Id] => scr_2
[Size] => 1280, 1024
)
我的目标是:
[0] => Array(
[Id] => scr_1
[Size] => Array(
[Width] => 1920
[Height] => 1080
)
)
[1] => Array(
[Id] => scr_
[Size] => Array(
[Width] => 1280
[Height] => 1024
)
)
我该怎么做? 提前谢谢!
答案 0 :(得分:2)
您需要添加数组,而不是在Size
键
$yourArray = array(
array(
"Id" => "scr_1",
"Size" => array(
"Width" => 1920,
"Height" => 1080
)
),
array(
"Id" => "scr_2",
"Size" => array(
"Width" => 1280,
"Height" => 1024
)
)
);
$newArray = array();
foreach ($yourArray as $k => $res) {
$newArray[$k] = array(
"Id" => $res["Id"],
"Size" => explode(",", $res["Size"])
);
}
答案 1 :(得分:1)
试试此代码
<?php
$myarray[0]["Id"] = "scr_1";
$myarray[0]["Size"]= "1920, 1080";
$myarray[1]["Id"] = "scr_2";
$myarray[1]["Size"]= "1920, 1080";
foreach($myarray as $key =>$value){
list($width, $height) = explode(", ",$value["Size"]);
$myarray[$key]['Size'] = array("Width"=>$width, "Height" =>$height);
}
echo "<pre>";print_r($myarray);
?>
答案 2 :(得分:1)
$array = array(array('Id' => 'scr_1', 'Size' => '1920, 1080'),array('Id' => 'scr_1', 'Size' => '1920, 1080'));
foreach($array as $key => $val )
{
$size = explode(',',$val['Size']);
$new['Width'] = $size[0];
$new['height'] = $size[1];
$array[$key]['Size'] = $new;
}
echo "<pre>";
print_r($array);
echo "</pre>";
检查此代码。
答案 3 :(得分:0)
试试这段代码:
<?php
$array = array(
array(
"Id" => "scr_1",
"Size" => "1920, 1080"
),
array(
"Id" => "scr_2",
"Size" => "1280, 1024"
)
);
$newArray = array();
foreach ($array as $k => $v) {
$size = explode(', ', $v['Size']);
$newArray[$k]= array('Id' => $v['Id'], 'Size' => array('Width' => $size[0], 'Height' => $size[1]));
}
print_r($newArray);