この配列を変更するにはどうすればよいですか
<pre>
Array ( [0] => 68,Off
[1] => 07,Do
[2] => 88,Ph
[3] => )
</pre>
これに
<pre>
Array ( [68] => Off
[07] => Do
[88] => Ph
[3] => )
</pre>
助けてください....
この配列を変更するにはどうすればよいですか
<pre>
Array ( [0] => 68,Off
[1] => 07,Do
[2] => 88,Ph
[3] => )
</pre>
これに
<pre>
Array ( [68] => Off
[07] => Do
[88] => Ph
[3] => )
</pre>
助けてください....
これを試してください
$temp=array();
foreach($arr as $each)
{
$val=explode(",",$each);
$temp[$val[0]]=$val[1];
}
echo "<pre>";print_r($temp);
問題が発生した場合はお知らせください。
$finalArray = array();
foreach($arr as $row)
{
$newArr = explode(',',$row);
$finalArray[$newArr[0]] = $newArr[1];
}
print_r($finalArray);
これを試して、
<?php
$array_1=your_array_here;
$array_2=array();
foreach($array_1 as $value){
$parts=explode(',',$value);
$array_2[$parts[0]]=$parts[1];
}
print_r($array_2);
?>
最も明確で簡単な方法は、新しい配列を作成し、古い配列をループすることです。
$new_array = array();
foreach ($old_array as $val) {
$val = explode(',', $val);
$new_array [$val[0]] = $val[1];
}
私の解決策:
$array = array('68,Off', '07,Do', '88,Ph'); // Old array
$tidy = array(); // New array
for( $i = 0; $i < count($array); $i++ ){
$tmp = explode(",", $array[$i]);
$tidy[$tmp[0]] = $tmp[1];
}
目的を達成するには、いくつかの方法があります。ここにそれらの1つがあります。このソリューションでは、値にコンマが含まれていない場合、元のキーが保持されます。
<?php
$new_array = array();
foreach ($array as $key => $value) {
list($new_key, $new_value) = explode(",", $value);
if (!strstr($value, ",")) {
list($new_key, $new_value) = array($key, $value);
}
$new_array[$new_key] = $new_value;
}
print_r($new_array);
?>