将字符串视为字符数组是否会返回“未初始化的字符串偏移量”通知?

不能说

我收到以下通知

Notice: Uninitialized string offset: 1 in /script.php on line 17

这是第16和17行

$results = exec('ping -c 1 -w 1 ' . $ip, $output);
$servers[] = ($results[1] === '' ? false : true);

这是我$results[1]用来获取$ results的第二个字符引起的吗?如果是这样,$string[]建议您在互联网上阅读该书,substr()以免产生通知?

我的脚本依赖于此文件生成JSON,因此有一条通知将其中断(这是一个问题,因为它是开放源代码脚本)

阿布拉·卡达弗

exec返回一个字符串。要访问字符串中的每个字符,您可以使用数组符号,$string[x]例如$string[1]从开始0但是,如果有0或1个字符[1],则不存在。看来您只是在检查字符串而已''使用以下之一:

$servers[] = $results ? true : false;
//or
$servers[] = ($results === '') ? true : false;

根据您的评论,检查字符位置和空格:

$servers[] = (isset($results[1]) && $results[1] === ' ') ? false : true;
//or
$servers[] = (strpos($results, ' ') === 1) ? false : true;

我会用strpos

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章