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