phpstrict
Ⅰ php去掉一維數組的鍵值的實例方法
在 PHP 中,數組的每個元素都是由鍵值對(key-value)組成,通過元素的鍵名來訪問對應鍵的值。
提示:「索引」和「鍵名」指的是同一樣東西,「索引」多指數組數字形式的下標。
有時候,我們需要去掉一維數組的鍵值(value),只留下數組的鍵名(key),這要怎麼做?
此時,就可以使用array_keys()函數了。
array_key() 函數可以獲取數組中的部分或所有鍵名,語法格式如下:
array_keys($array [, $search_value = null [, $strict = false]])參數說明如下:
$array:必選參數,為待操作的數組;
$search_value:可選參數,如果參數為空,則函數會返回數組中的所有鍵名,如果指定了該參數,則函數就只會返回值為 $search_value 的鍵名;
$strict:可選參數,判斷在搜索的時候是否使用嚴格模式,$strict 默認為 false,也就是非嚴格模式,在搜索時只比較類型,不比較類型,若將 $strict 設置為 true,也就是嚴格模式,在搜索時同時比較值和類型,等價於===。
array_key() 函數會以數組形式返回得到的數組鍵名。
'it網', 'url' => 'https://www.how234.com/', 'title' => 'PHP學習教程', ); $key=array_keys($array); var_mp($key); ?>可以看到,去掉了一維數組的鍵值(value),只返回了一維數組的鍵名(key)。
內容擴展:
1、使用unset()函數可以用於取消設置關聯數組中的鍵及其值。
// 聲明關聯數組 $arr = array( "1" => "加", "2" => "減", "3" => "乘", "4" => "除" ); // 關聯數組中刪除鍵1及其值 unset($arr['1']); // 顯示數組元素 var_mp($arr);2、使用array_diff_key()函數用於獲取一個或多個數組之間的差集。
此函數比較一個或多個數組之間的鍵並返回它們之間的差集。
// 聲明關聯數組 $arr = array( "1" => "春", "2" => "夏", "3" => "秋", "4" => "冬", ); // 從關聯數組中刪除鍵1及其值 $result = array_diff_key($arr, array_flip((array) ['1'])); // 顯示數組元素 var_mp($result);到此這篇關於php去掉一維數組的鍵值的實例方法的文章就介紹到這了。
Ⅱ PHP如何檢查一個數組內是否存在指定元素
用in_array函數
可以判斷數組中是否存在一個值
in_array
(PHP
4,
PHP
5)
in_array
--
檢查數組中是否存在某個值
說明
bool
in_array
(
mixed
needle,
array
haystack
[,
bool
strict]
)
在
haystack
中搜索
needle,如果找到則返回
TRUE,否則返回
FALSE。
如果第三個參數
strict
的值為
TRUE
則
in_array()
函數還會檢查
needle
的類型是否和
haystack
中的相同。
注:
如果
needle
是字元串,則比較是區分大小寫的。
注:
在
PHP
版本
4.2.0
之前,needle
不允許是一個數組。
例子
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
"'fi'
was
found\n";
}
if
(in_array('o',
$a))
{
echo
"'o'
was
found\n";
}
?
上例將輸出:
'ph'
was
found
'o'
was
found