gpt4 book ai didi

php - 将字符串视为字符数组是否会返回 “Uninitialized string offset”通知?

转载 作者:行者123 更新时间:2023-12-03 08:30:33 25 4
gpt4 key购买 nike

我收到以下通知
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

关于php - 将字符串视为字符数组是否会返回 “Uninitialized string offset”通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26222901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com