php判断字符串在不在数组中

在 PHP 开发中,经常需要判断字符串是否在数组中。这是一种非常常见的需求,特别是在处理表单数据时。在本文中,我们将介绍在 PHP 中判断字符串是否在数组中的几种方法。

一、使用 in_array()

在 PHP 中,可以使用 in_array() 函数来判断一个值是否在数组中。这个函数接受两个参数:需要查找的值和要查找的数组。如果找到了值,则返回 true,否则返回 false。

下面是 in_array() 函数的使用方法:

1

2

3

4

5

6

7

8

9

// 定义一个数组

$array = array(apple, orange, banana, mango);

// 判断 apple 是否在数组中

if (in_array(apple, $array)) {

echo apple 在数组中;

} else {

echo apple 不在数组中;

}

登录后复制

输出:

1

apple 在数组中

登录后复制

二、使用 array_search()

array_search() 函数和 in_array() 函数类似,也是用来判断一个值是否在数组中的。不同的是,如果找到了值,array_search() 函数会返回该值在数组中的键名,否则返回 false。

下面是 array_search() 函数的使用方法:

1

2

3

4

5

6

7

8

9

10

11

// 定义一个数组

$array = array(apple, orange, banana, mango);

// 查找 orange 在数组中的位置

$key = array_search(orange, $array);

if ($key !== false) {

echo “orange 在数组中的位置是:$key”;

} else {

echo orange 不在数组中;

}

登录后复制

输出:

1

orange 在数组中的位置是:1

登录后复制

三、使用 in_array() 和 strict 参数

in_array() 函数有一个可选的第三个参数 strict,用来指定是否强制类型比较。默认情况下,in_array() 函数是使用宽松比较模式的。

下面是一个例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

$array = array(1, apple, true);

// 宽松比较,返回 true

if (in_array(1, $array)) {

echo “1 在数组中”;

} else {

echo “1 不在数组中”;

}

echo <br>;

// 强制类型比较,返回 false

if (in_array(1, $array, true)) {

echo “1 在数组中”;

} else {

echo “1 不在数组中”;

}

登录后复制

输出:

1

2

1 在数组中

1 不在数组中

登录后复制

四、使用 array_key_exists()

除了判断一个值是否在数组中,有时我们还需要判断一个键是否在数组中。可以使用 array_key_exists() 函数来完成这个工作。这个函数接受两个参数:需要查找的键和要查找的数组。如果找到了键,则返回 true,否则返回 false。

下面是 array_key_exists() 函数的使用方法:

1

2

3

4

5

6

7

8

9

// 定义一个数组

$array = array(username => jack, email => jack@example.com, phone => 123456789);

// 判断 username 是否在数组中

if (array_key_exists(username, $array)) {

echo username 在数组中;

} else {

echo username 不在数组中;

}

登录后复制

输出:

1

username 在数组中

登录后复制
登录后复制

五、使用 isset() 和数组键

PHP 中的 isset() 函数可以用来检查一个变量是否已经设置并且非 null。在数组中,我们可以使用数组键作为变量名,来判断一个键是否在数组中。

下面是一个例子:

1

2

3

4

5

6

7

8

9

// 定义一个数组

$array = array(username => jack, email => jack@example.com, phone => 123456789);

// 判断 username 是否在数组中

if (isset($array[username])) {

echo username 在数组中;

} else {

echo username 不在数组中;

}

登录后复制

输出:

1

username 在数组中

登录后复制
登录后复制

总结

在 PHP 开发中,判断字符串是否在数组中是一个非常常见的需求。我们可以使用 in_array()、array_search()、array_key_exists()、isset() 等函数来实现。

使用 in_array() 和 array_search() 函数,可以检查值是否在数组中。使用 array_key_exists() 函数,可以检查键是否在数组中。使用 isset() 函数与数组键可以检查键是否在数组中。

根据具体业务需求,选择适合的方法来判断字符串是否在数组中。

以上就是php判断字符串在不在数组中的详细内容,更多请关注php中文网其它相关文章!

TG交流群(点击进入)----付费帮助搭建---修复---二开,以及发布求资源.
QQ交流群 922260178
© 版权声明
THE END
喜欢就支持一下吧
点赞2W+ 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容