亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP-在多維數組中搜索鍵

PHP-在多維數組中搜索鍵

PHP
守候你守候我 2022-01-08 20:47:08
我想創建一個函數,當值在數組之一中時將返回鍵...首先我有多維數組:$stens = array(    'realistic' => array(        s1 => array(10),        s2 => array(11,12),        s3 => array(13,14,15,16),        s4 => array(17,18,19,20,21),        s5 => array(22,23,24,25,26,27,28,29),        s6 => array(30,31,32,33,34,35,36),        s7 => array(37,48,39,40,41),        s8 => array(42,43,44,45,46,47),        s9 => array(48,49),        s10 => array(50),    ),    'research' => array(        s1 => array(10,11,12,13,14),        s2 => array(15),        s3 => array(16,17,18,19,20),        s4 => array(21,22,23,24,25,26,27,28),        s5 => array(29,30,31,32,33),        s6 => array(34,35,36,37,38),        s7 => array(39,40,41,42),        s8 => array(43,44,45,46,47),        s9 => array(48,49),        s10 => array(50),    ));我的函數應該為每個第一個數組('realistic','research')返回鍵(從 s1 到 s10)。例如:我要函數的數據(原始數據)是一個數組:$raw_data = array(   [realistic] => 18   [research] => 43)所以函數應該返回數組Array(   [realistic] => s4,   [research] => s8 )我試過了,array_search但我需要更深入地搜索,所以它不起作用。function sten( $stens, $raw_data ){   $sten = array();    foreach( $raw_data as $type => $value_s )    {        foreach( $stens[$type] as $key => $array_values )            $sten[$type][$key] = array_search( $value_s, $array_values );    }    return $sten; }
查看完整描述

1 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

這應該有效。對最低維度上的數組使用in_array。


$sten = array();

foreach($raw_data as $type => $value_s){

    foreach($stens[$type] as $key => $array_values){

        if(in_array($value_s, $array_values){

             $sten[$type] = $key;

        }

    }

}


查看完整回答
反對 回復 2022-01-08
  • 1 回答
  • 0 關注
  • 187 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號