substr[0] 不起作用,将不同的字符返回到回显字符串


substr[0] not working, returning different characters to echoed string

我正在使用wp_remote_post将一些信息发布到像这样...

$response = wp_remote_post( $validation_url, array(
                    'method' => 'POST',
                    'timeout' => 45,
                    'redirection' => 5,
                    'httpversion' => '1.0',
                    'blocking' => true,
                    'headers' => array(),
                    'body' => $fields,
                    'cookies' => array()
                    )
                    );

如果我这样做...

$validationresponse = $response['body'];
echo $validationresponse;

然后它正确地返回$response['body']的内容,看起来像这样。

100Successfull Validation

但是如果我然后尝试这样做...

echo substr($validationresponse, 1);

要返回第一个字符,那么它不起作用,而是返回这个......

?xml version="1.0"?>

我做错了什么,谁能建议发生了什么?

如果你只想减去第一个字符,请使用:

echo $validationresponse[0];

为了使您的代码正常工作(它返回从第二个字符开始的字符串的其余部分),您应该首先检查$validationresponse长度是否为 2 个或更多字符。另外,尝试var_dump()(使用 var_dump() 而不是 print_r(),因为var_dump显示 NULL 和东西)结果,而不是按照参考说:

Returns the extracted part of string; or FALSE on failure, or an empty string.
另外,如果您有任何错误

,请发布任何错误。

正如

您所写的那样 - echo substr($validationresponse, 1); - 将返回以第二个字符开头的字符串的其余部分。如果你想要一个字符,你会使用 - echo substr($validationresponse, 1, 1); .请参阅 http://php.net/substr。这就是你看到的情况吗?