我在数组中有这个stdclass对象
Array ( [0] => stdClass Object ( [file_id] => 6 [file_name] => 1ofdays.wav ) [1] => stdClass Object ( [file_id] => 7 [file_name] => abcd.mp3 ) )
我想将此stdclass
对象数组转换为关联数组,例如
$name_array=([text]=>1ofdays.wav,[text]=>abcd.mp3);
$id_array=([value]=>6,[value]=>7);
我尝试通过首先使用此函数展平数组来实现它
public function array_flatten($mArray) {
$sArray = array();
foreach ($mArray as $row) {
if ( !(is_array($row)) ) {
if($sArray[] = $row){
}
} else {
$sArray = array_merge($sArray,$this->array_flatten($row));
}
}
return $sArray;
}
这个功能给了我结果
Array ( [0] => 6 [1] => 1ofdays.wav [2] => 7 [3] => abcd.mp3 )
然后我创建了两个数组even()
和odd()
并从奇数和偶数索引中获取元素并将它们推送到他们受尊重的数组中
导致
even( [0] => 6 [1] => 7 )
odd( [0] => 1ofdays.wav [1] => abcd.mp3 )
现在我想将偶数数组元素放入
Id_array =('value'=>6,'value'=>7)
和
name_array=('text'=>1ofdays.wav,'text'=>'abcd.mp3')
答案 0 :(得分:0)
希望它和你想要的一样
<?php
class stdClass1 {
public $file_id;
public $file_name;
public function setName($n, $sn) {
$this->file_id = $n;
$this->file_name = $sn;
}
}
$exaObj = new stdClass1;
$exaObj2 = new stdClass1;
$exaObj->setName('6', '1ofdays.wav');
$exaObj2->setName('7', 'abcd.mp3');
$arr = array($exaObj, $exaObj2);
foreach ($arr as $k => $v) {
print_r($v);
echo "<br>";
foreach ($v as $key => $value) {
$$key[] = $value;
}
}
echo "<pre>";
print_r($file_id);
echo "</pre>";
echo "<pre>";
print_r($file_name);
echo "</pre>";
echo "Second METHOD<br><br>";
foreach ($arr as $k => $v) {
$nameArr[] = $v->file_name;
$idArr[] = $v->file_id;
}
echo "<pre>";
print_r($idArr);
echo "</pre>";
echo "<pre>";
print_r($nameArr);
echo "</pre>";
?>
&#13;