$result = [ 'a'=>[1,2], 'b'=>[1,2], 'c'=>[1,2], 'd'=>[1,2],]array_intersect_ukey( $result['a'], $result['b'], $result['c'], $result['d'], 'test' );
現(xiàn)在的問(wèn)題是,我不知道$result里面有多少數(shù)組,有可能a-d,有可能只有a和d。
那array_intersect_ukey函數(shù)也要?jiǎng)討B(tài)根據(jù)此動(dòng)態(tài)的傳入?yún)?shù)。
比如只有a和d
array_intersect_ukey( $result['a'], $result['d'], 'test' );
比如只有a,c和d
array_intersect_ukey( $result['a'], $result['c'], $result['d'], 'test' );
要如何實(shí)現(xiàn)這種動(dòng)態(tài)傳入?yún)?shù)呢?或者有沒(méi)有其他的實(shí)現(xiàn)方法?
回復(fù)內(nèi)容:$result = [ 'a'=>[1,2], 'b'=>[1,2], 'c'=>[1,2], 'd'=>[1,2],]array_intersect_ukey( $result['a'], $result['b'], $result['c'], $result['d'], 'test' );
現(xiàn)在的問(wèn)題是,我不知道$result里面有多少數(shù)組,有可能a-d,有可能只有a和d。
那array_intersect_ukey函數(shù)也要?jiǎng)討B(tài)根據(jù)此動(dòng)態(tài)的傳入?yún)?shù)。
比如只有a和d
array_intersect_ukey( $result['a'], $result['d'], 'test' );
比如只有a,c和d
array_intersect_ukey( $result['a'], $result['c'], $result['d'], 'test' );
要如何實(shí)現(xiàn)這種動(dòng)態(tài)傳入?yún)?shù)呢?或者有沒(méi)有其他的實(shí)現(xiàn)方法?
我沒(méi)怎么細(xì)看樓主的問(wèn)題,不過(guò)我告訴樓主兩個(gè)點(diǎn),我敢肯定是能解決樓主所描述的問(wèn)題:
1.留意一個(gè)叫做call_user_func_array()的函數(shù)
http://php.net/manual/zh/function.call-user-func-array.php
2.這個(gè)可能不如1重要,但是還要提一下吧:
func_num_args(); //輸出參數(shù)個(gè)數(shù)
func_get_args; //獲取參數(shù),返回參數(shù)數(shù)組
3.既然參數(shù)個(gè)數(shù)以及名稱不確定,那么,可以通過(guò)1中函數(shù)向某個(gè)函數(shù)傳參,記得參數(shù)用數(shù)組方式,數(shù)組可以讓你傳各種各樣的參數(shù)
樓主的問(wèn)題,應(yīng)該可以的到解決.
回來(lái)又仔細(xì)看了一下樓主的問(wèn)題,沒(méi)錯(cuò),call_user_func_array可以是幫助你。
可以遞歸或循環(huán)調(diào)用。
根據(jù)A ∩ B ∩ C = ( A ∩ B ) ∩ C
,第一次計(jì)算頭兩個(gè)數(shù)組的交集,然再用第一次計(jì)算的結(jié)果和第三個(gè)數(shù)組(如果有的話)計(jì)算交集,以此類推。
我以前問(wèn)過(guò)類似的問(wèn)題 https://segmentfault.com/q/1010000004290664
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選