看板 PHP 關於我們 聯絡資訊
$static_reaction=array( '1'=>array('id'=>1001,'npc_id'=>1,'type'=>3), '2'=>array('id'=>1002,'npc_id'=>2,'type'=>4), '3'=>array('id'=>1003,'npc_id'=>3,'type'=>5), '4'=>array('id'=>1004,'npc_id'=>4,'type'=>5), ); 請問我可以透過value取得索引嗎?? 例如:我想找type=4的索引,print_r結果會是2或是把$static_reaction[2],print_r出來 例如:可以取出type=5的索引嗎,print_r結果會是3與4 -- 感謝大家的推文 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.203.99
Fantasywind:foreach if 12/11 23:57
kerash:用迴圈跑判斷...? 12/11 23:57
bibo9901:foreach($static_r as $v) 12/12 00:07
bibo9901: if( $v[type] == 4 ) $result[]=$k; 12/12 00:08
bibo9901:$result就是你要的東西 12/12 00:08
bibo9901:啊...第一行改成foreach( .... as $k=>$v) 剛少打了 抱歉 12/12 00:09
tas72732002:用迴圈好像很傷效能~ 12/12 07:45
tas72732002:沒有別種方法嗎? 12/12 07:45
superpai:array_search 12/12 08:43
akasan:效能先拋到腦後, 等到很慢再來慢慢最佳化 12/12 08:54
knives:直接用索引當陣列key不就好了 12/12 09:15
MOONRAKER:現在機器很快,不用迷信「效能教」。 12/12 11:52
MOONRAKER:除非你的script一秒會跑一萬或一百萬次 12/12 11:53
chrisQQ:如果你 array 很大,不想每次都掃一次,就在這個 array 變 12/12 13:19
chrisQQ:更的時候另外存成 array[type] = array(indexs); 的 array 12/12 13:20
chrisQQ:用原先的 array 跑 foreach 之後 var_export 存去另外 12/12 13:20
chrisQQ:一個檔案就好,然後比對這個檔案和產生的檔案的編輯時間 12/12 13:20
chrisQQ:簡單來說就是另外建 index。 12/12 13:21
dlikeayu:不知道你要用來做什麼,另一種解法就是存到資料庫再query 12/13 01:53
dlikeayu:出來,想省掉資料庫連線 資料又少,就暫存到access 12/13 01:54
dlikeayu:要說快這大概零點幾秒的時間而已... 12/13 01:54
dlikeayu:而且語法無腦至極XD 12/13 01:56
dlikeayu:key存成index 然後select index from xxx where type = 4 12/13 02:09
dlikeayu:foreach ($result as $k) {echo $k->index;} 12/13 02:10
dlikeayu:資料極少就用bibo大的 if沒幾次,次中就頂多io accse 12/13 02:12
dlikeayu: access 12/13 02:13
dlikeayu:moon大說的也是,沒人知道你的用途一次if幾萬筆資料 12/13 02:15
dlikeayu:然後每秒有幾千幾萬人會執行你這程式? 12/13 02:15