phparrayinarray
① php中 in_array 問題
in_array 是查 array 裡面的值的
你先搞清楚 array 和string的概念先吧
$a = array(1,2,3,4,5,6);
裡面的是 '1' ,'2' ...
$b = '1,2,3,4,5,6';
$bb = array($b);
值是 array("1,2,3,4,5,6 ");
② php in_array 用法問題
in_array() 是判斷 值 在不在指定的數組里 第二個參數是個數組 第一個參數是具體值。
識別是假就是說在$sel里沒有找到1,1是整形 可以先 intval($se)求整一下 再判斷
$sel[0]有值(傳的值),但是$caizi里沒有$caizi[0] 你用的6做的下標,應該輸出的array[6]看看識別結果
③ 2個自定義的PHP in_array 函數,解決大量數據判斷in_array的效率問題
但是如果數組比較大的時候,性能就會下降,運行的就會久一點,那如果針對在大數組情況下做優化呢,下面說兩種方法(都是通過自定義函數來實現):
1.數組key與value翻轉,通過isset判斷key是否存在於數組中
復制代碼
代碼如下:
/**
*
in_array
is
too
slow
when
array
is
large
*/
public
static
function
inArray($item,
$array)
{
$flipArray
=
array_flip($array);
return
isset($flipArray[$item]);
}
大家可能也會問為什麼不用
array_key_exists
來做判斷二用isset呢?
下面看下array_key_exists()
與
isset()
的對比:
isset()對於數組中為NULL的值不會返回TRUE,而array_key_exists()會。
復制代碼
代碼如下:<?php
$search_array
=
array('first'
=>
null,
'second'
=>
4);
//
returns
false
isset($search_array['first']);
//
returns
true
array_key_exists('first',
$search_array);
?>
④ php中 in_array 問題
in_array 是判斷一維數組用的。。。$bb二維數組 無法判斷
⑤ php in_array() 檢查數組中是否存在某個值詳解
php
in_array()
檢查數組中是否存在某個值
in_array檢查數組中是否存在某個值
基本語法:
bool
in_array(mixed
$needle,array
$haystack,bool
$strict=FALSE)
在
haystack
中搜索
needle
參數介紹
參數
描述
needle
必需。規定要在數組搜索的值。如果是字元串,則比較是區分大小寫的。
haystack
必需。規定要搜索的數組。
strict
可選。如果設置該參數為
true,則
in_array()
函數還會檢查
needle
的類型是否和
haystack
中的相同。
返回值
如果找到
needle
則返回
TRUE
,否則返回
FALSE
。
實例:
<?php
$os
=
array(
"Mac",
"NT",
"Irix",
"Linux"
);
if
(in_array("Irix",
$os))
{
echo
"Got
Irix";
}
if
(in_array("mac",
$os))
{
echo
"Got
mac";
}
?>
在線運行第二個條件失敗,因為
in_array()
是區分大小寫的,所以以上程序顯示為:
Got
Irix
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
⑥ 關於PHP in_array判定的疑問,請高手解答
你把索引鍵的值賦為布爾型的true,而不是string類型的true,結果當然不對,
<?php
$a=array();
//字元串true
$a['a']='true';
var_mp($a);
echo '<br/>';
if(in_array("b", $a)){
echo 'b存在<br/>';
}else{
echo 'b不存在';
}
?>
⑦ PHP判斷數組中是否存在某一數值的函數in_array
函數:in_array -- 檢查數組中是否存在某個值定義:bool in_array ( mixed needle, array haystack [, bool strict] )在haystack 中搜索 needle,如果找到則返回 TRUE,否則返回 FALSE。 如果第三個參數 strict 的值為 TRUE 則 in_array() 函數還會檢查 needle 的類型是否和 haystack 中的相同。 例子1. in_array() 例子<?php $os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) { echo "Got Irix";}if (in_array("mac", $os)) { echo "Got mac";}?> 第二個條件失敗,因為 in_array() 是區分大小寫的,所以以上程序顯示為: Got Irix 例子2. in_array() 嚴格類型檢查例子<?php $a = array('1.10', 12.4, 1.13); if (in_array('12.4', $a, true)) { echo "'12.4' found with strict check\n";}if (in_array(1.13, $a, true)) { echo "1.13 found with strict check\n";}?> 上例將輸出:1.13 found with strict check 例子3. in_array() 中用數組作為 needle<?php $a = array(array('p', 'h'), array('p', 'r'), 'o'); if (in_array(array('p', 'h'), $a)) { echo "'ph' was found\n";}if (in_array(array('f', 'i'), $a)) { echo "'o' was found\n";}?