簡體   English   中英

如果數組是數組中的in_array()?

[英]if array is in_array() in array?

第一次嘗試使用數組作為針和大海撈針在陣列中找到某些東西。 那么,2個數組的例子:

我動態形成的數組:

Array ( 
    [0] => 
    [1] => zpp 
    [2] => enroll 
) 

我的靜態比較數組:

Array ( 
    [0] => enroll 
) 

我的in_array() if聲明:

if (in_array($location_split, $this->_acceptable)) {
   echo 'found';
}
$location_split; // is my dynamic
$this->_acceptable // is my static

但是從這個發現的不是打印出來的,正如我所期待的那樣? 我究竟在這里失敗了什么?

如果我理解你正確,你想看看第一個數組的條目是否存在於第二個數組中。

你可能會看看array_intersect ,它會返回你傳遞給它的所有數組中存在的一些東西。

$common = array_intersect($this->_acceptable, $location_split);
if (count($common)) {
    echo 'found';
}

如果該數組的計數至少為1,那么至少有一個共同的元素。 如果它等於你的動態數組的長度,並且數組的值是不同的,那么它們都在那里。

當然,數組將能夠告訴您哪些值匹配。

因為數組中沒有包含array('enroll')元素(只有'enroll' )。

你最好的選擇是使用array_diff() ,如果結果與原始數組相同,則找不到匹配項。

您正在交換in_array (needle&haystack)的參數。 它需要,

 if(in_array($this->_acceptable, $location_split))
{
  echo 'found';
 }

編輯:嘗試使用array_intersect

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM