猿问

检查值是否为空 in_array?PHP

我正在尝试执行in_arrayIf else 语句的内部。它检查该值是否存在于数组中。

这是我如何从 ajax 到控制器获取数组值

$data_days = $request->dataDays;

示例输出: 1,2,3,4,5,6,7

如果用户没有检查monday并且检查了其余的日子,它将像这样返回数组2,3,4,5,6,7

这些数字是天数

1 = 星期一

2 = 星期二等等..

它来自多个复选框。

好吧,当值在数组内部匹配时,它工作正常。但是当数组中不存在该值时,它会返回一个错误,表示 in_array() 期望参数 2 为数组,给出 null因为我与数组匹配的值不存在或null

 if (in_array('1', $data_days, true)){

    $message = "exists";

   }

  else{

    $message = "doesn't exists!";

   }

如果1数组中没有值,它应该返回doesn't exists!截至目前的位置,它只是给我一个这样的错误


in_array() 期望参数 2 是数组,给定 null


动漫人物
浏览 216回答 2
2回答

慕村9548890

这不是因为数组内部不存在值。看来您的数组没有以正确的方式创建。但是,如果您确定您的数组绝对正确,请检查您的变量是否为数组。使用is_array()PHP的功能。PHP: is_array - 手册看: if (is_array($data_days) && in_array('1', $data_days, true)){    $message = "exists";   }  else{    $message = "doesn't exists!";   }
随时随地看视频慕课网APP
我要回答