先將所有數據放到一個數組里
10年積累的網站設計制作、成都網站設計經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有庫倫免費網站建設讓你可以放心的選擇與我們合作。
$arr_new_str =Array();//放字符串的數組
$arr_new_obj = Array();//放對象的數組
foreach( $arr_old as $arr_in ){
foreach( $arr_in as $value){
//雙重遍歷,開始 將字符串和對象分開
if( $value instanceof stdClass )
{ //所有對象
$arr_new_obj[] =$value;
}else {//所有字符串
$arr_new_str[]=$value;
}
}
}
//array_unique()函數,我不清楚能不能排除對象,所以我又分了一次
$arr_new= array_unique( $arr_new_str );
//驗證對象
$count = count( $arr_new_obj);
for( $i=0;$i$count;$i++){
//得到對象數組的第一個值,
for($j=$i+1;$j$count;$j++){
//將第一個對象和其他值比較,
if( $arr_new_obj[ i ] == $arr_new_obj[ j ] ){
//相等,就將第一個刪除;依次類推
unset( $arr_new_obj[ i ] );
}
}
}
//最后得到的就是沒有相同對象的新數組
//和并兩個數組;
$array_new = array_merge( $arr_new ,$arr_new_obj );
//array_merge() 函數把兩個或多個數組合并為一個數組。
//如果鍵名有重復,該鍵的鍵值為最后一個鍵名對應的值(后面的覆蓋前面的)。如果數組是數
//字索引的,則鍵名會以連續方式重新索引。
這個題,我認為 難在如何判斷兩個對象是否相等,我也是,百度了一下,才知道的,請樓主也學習一下;
我的方法比較長,我看一樓 用到的 遞歸,水準比我高多了,學習了
在利用jQuery EasyUI框架進行程序開發時,碰到前臺將JSON格式數據傳遞到服務器后臺,經php的json_decode函數轉換成的數組由于為對象數組,php程序無法對數據進行正常處理的情況,為此需要開發一個PHP回調函數(objarray_to_array)將對象數組轉換成普通數組。
/**
* 對象數組轉為普通數組
*
* AJAX提交到后臺的JSON字串經decode解碼后為一個對象數組,
* 為此必須轉為普通數組后才能進行后續處理,
* 此函數支持多維數組處理。
*
* @param array
* @return array
*/
function objarray_to_array($obj) {
$ret = array();
foreach ($obj as $key = $value) {
if (gettype($value) == "array" || gettype($value) == "object"){
$ret[$key] = objarray_to_array($value);
}else{
$ret[$key] = $value;
}
}
return $ret;
}
這里定義2個php匿名對象和數組相互轉換的函數,代碼如下:
function array2object($array) {
if (is_array($array)) { $obj = new StdClass(); foreach ($array as $key = $val){ $obj-$key = $val; } } else { $obj = $array; } return $obj;}function object2array($object) { if (is_object($object)) { foreach ($object as $key = $value) { $array[$key] = $value; } } else { $array = $object; } return $array;}
用法示例如下:
$array = array('foo' = 'bar','one' = 'two','three' = 'four');$obj = array2object($array);print $obj-one; // output's "two"$arr = object2array($obj);print $arr['foo']; // output's bar
需要準備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,新建php文件,例如:index.php,填充問題基礎代碼。
2、在index.php中,輸入代碼:echo json_encode($a);。
3、瀏覽器運行index.php頁面,此時A對象被轉化為字符串后被打印出來了。
當前文章:php對象轉數據組 phpjson轉數組
網頁路徑:http://m.kartarina.com/article46/dodsjeg.html
成都網站建設公司_創新互聯,為您提供企業網站制作、網站設計、網站改版、用戶體驗、靜態網站、
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯