陣列對映思路 避免雙重foreach

2021-08-17 10:16:44 字數 1120 閱讀 7186

<?php

//陣列對映計算

//適用於陣列1和陣列2中有重複的字段

$arr = array(

array('uid'=>123,'message'=>'訊息','class'=>1),

array('uid'=>123,'message'=>'訊息','class'=>2),

array('uid'=>123,'message'=>'訊息','class'=>3),

array('uid'=>123,'message'=>'訊息','class'=>4),

array('uid'=>123,'message'=>'訊息','class'=>5)

$ars = array(

array('class'=>5,'class_name'=>'水果'),

array('class'=>3,'class_name'=>'健身'),

array('class'=>4,'class_name'=>'運動'),

array('class'=>2,'class_name'=>'運動2'),

array('class'=>1,'class_name'=>'步行'),

);/**

* 將2+維陣列第2維的某列的值作為key

** @param array $arr input/out parameter

* @param string $cloumn

* @return void

*/function array_change_key(&$arr, $column)

$newarr = array();

foreach ($arr as &$val)

$arr = $newarr;

return $arr;

}//將陣列$ars 以class的值做為鍵名

$new_ars = array_change_key($ars, 'class');

foreach($arr as $k=>$v)

echo "";

print_r($arr);

//結果輸出

render避免雙重渲染錯誤

大多數 rails 開發者遲早都會看到乙個錯誤訊息 can only render or redirect once per action 動作只能渲染或重定向一次 這個提示很煩人,也很容易修正。出現這個錯誤的原因是,沒有理解render的工作原理。例如,下面的 會導致這個錯誤 defshow bo...

小酌重構系列 21 避免雙重否定

在自然語言中,雙重否定表示肯定。但是在程式中,雙重否定會降低 的可讀性,使程式不易理解,容易產生錯覺。人通常是用 正向思維 去理解一件事情的,使用雙重否定的判斷,需要開發者以 逆向思維 的方式去理解它的含義。另外,在寫程式時,符號很容易被疏忽和遺漏,一不小心則會編寫出錯誤的 從而產生bug。所以,在...

對集合中雙重迴圈的優化思路

對集合中雙重迴圈的優化思路 一遍雜湊表 事實證明,我們可以一次完成。在進行迭代並將元素插入到表中的同時,我們還會回過頭來檢查表中是否已經存在當前元素所對應的目標元素。如果它存在,那我們已經找到了對應解,並立即將其返回。public int twosum int nums,int target map...