• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php if条件判断数组返回[false]

php 搞代码 3年前 (2022-01-23) 26次浏览 已收录 0个评论
文章目录[隐藏]
{"code":200,"message":"success","data":[false]}

 $sql_notice=mysql_query(sql语句)    $arrData =array();    while ($arrData[] = mysql_fetch_array($sql_notice))    {       $arrData;    }    $sData = array_values($arrData);    if(。。。){    Response::json(200,'success',$sData);    }else{    Response::json(400,'error',"");    }

请注意 是[false] 不是false
因为前面应需要加了[]

这个是做的转json返回数据的接口 while循环那里若有优化的写法也请指教
现在就是因为这个 若不符合返回的会是[false] 试着用和false一样的方法去判断结果都不行
求教这里要怎么写

回复讨论(解决方案)

1、你需要得到什么?哪里出了问题?
2、Response::json 方法是怎么写的
3、while ($arrData[] = mysql_fetch_array($sql_notice)) 将会使 $arrData 数组的最后一个元素为 false

1、你需要得到什么?哪里出了问题?
2、Response::json 方法是怎么写的
3、while ($arrData[] = mysql_fetch_array($sql_notice)) 将会使 $arrData 数组的最后一个元素为 false

做一个APP接口返回json数据 数据库读出多条数据 也就是多个数组 遍历 转为json 返回给app端
现在请求验证通过的话数据都可以读出并以json呈现 但当请求没有通过验证致使读取的数据为空时,返回仍是200 成功
验证条件就是读取数据库的条件 不符合就读不到 然后判断数组为空就应该400 但是由于这个[false]不被视为空,所以结果会返回
200 成功 [false] 这样就不行了 应该这种情况下是400失败的

1、你需要得到什么?哪里出了问题?
2、Response::json 方法是怎么写的
3、while ($arrData[] = mysql_fetch_array($sql_notice)) 将会使 $arrData 数组的最后一个元素为 false

class Response {	const JSON = "json";	/**	* 	* @param integer $code 状态码	* @param string $message 提示信息	* @param array $data 数据	* @param string $type 数据类型	* return string	*/	public static function show($code, $message = '', $data = array(), $type = self::JSON) {		if(!is_numeric($code)) {			return '';		}		$type = isset($_GET['format']) ? $_GET['format'] : self::JSON;		$result = array(			'code' => $code,			'message' => $message,			'data' => $data,		);		if($type == 'json') {			self::json($code, $message, $data);			exit;		}else{			// TODO		}	}	/**	* 按json方式输出通信数据	* @param integer $code 状态码	* @param string $message 提示信息	* @param array $data 数据	* return string	*/	public static function json($code, $message = '', $data = array()) {				if(!is_numeric($code)) {			return '';		}		$result = array(			'code' => $code,			'message' => $message,			'data' => $data		);		echo json_encode($result);		exit;	}}

如果是while那句的写法有问题导致的话 求教怎么改

    $arrData =array();    while (<div style="color:transparent">!本文来源gaodai.ma#com搞#代!码(网</div><em>搞gaodaima代码</em>$$row = mysql_fetch_array($sql_notice))    {       $arrData[] = $row;    }    if($arrData) {      Response::json(200,'success',$arrData);    } .....

我不关心你的目的是什么,只关心你需要什么样的格式

    $arrData =array();    while ($$row = mysql_fetch_array($sql_notice))    {       $arrData[] = $row;    }    if($arrData) {      Response::json(200,'success',$arrData);    } .....

我不关心你的目的是什么,只关心你需要什么样的格式

按我当前的模式 验证条件即是查询条件的话 判断自然是是否有数据了
我现在需要的是有就用json格式输出 返回200 成功 数据 如果没有 就返回 400 失败 “”

    $arrData =array();    while ($$row = mysql_fetch_array($sql_notice))    {       $arrData[] = $row;    }    if($arrData) {      Response::json(200,'success',$arrData);    } .....

我不关心你的目的是什么,只关心你需要什么样的格式

受教了 感谢版主大大


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php if条件判断数组返回[false]

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址