Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当第二个节点不运行时处理PHP错误消息';不存在?_Php_Error Handling_Undefined - Fatal编程技术网

当第二个节点不运行时处理PHP错误消息';不存在?

当第二个节点不运行时处理PHP错误消息';不存在?,php,error-handling,undefined,Php,Error Handling,Undefined,希望有人能帮上忙 我用这个来抓取我的URL $page_url = perch_page_url(['include-domain' => false,], true); // Output the URL of the current page, minus https $url_parts = explode("/", $page_url); // Split a string by a string $first_node = $url_parts[1]; // First pa

希望有人能帮上忙

我用这个来抓取我的
URL

$page_url = perch_page_url(['include-domain' => false,], true); // 
Output the URL of the current page, minus https
$url_parts = explode("/", $page_url); // Split a string by a string
$first_node = $url_parts[1]; // First part of string 
$second_node = $url_parts[2]; // Second part of string
我正在使用此技术获取
URL的第一个和第二个节点

$page_url = perch_page_url(['include-domain' => false,], true); // 
Output the URL of the current page, minus https
$url_parts = explode("/", $page_url); // Split a string by a string
$first_node = $url_parts[1]; // First part of string 
$second_node = $url_parts[2]; // Second part of string
在我的主页上,没有第二个节点,因此我收到一条
未定义偏移量
消息

是否有办法检查
$second\u节点是否存在

我试过使用

if (isset($second_node)) {
echo "$second_node is set so I will print.";
}


这两条
if
语句仅在设置$second\u节点后回显?因此,我仍然收到错误消息。

请在if条件下直接使用它,并避免在if条件下检查变量或赋值

if (isset($url_parts[2])) { // remove this line $second_node = $url_parts[2]; 
echo "$second_node is set so I will print.";
}

请在if条件中直接使用它,避免赋值给变量或在if条件中检查后赋值

if (isset($url_parts[2])) { // remove this line $second_node = $url_parts[2]; 
echo "$second_node is set so I will print.";
}

这是因为该错误是在初始化
$second\u节点时抛出的

首先检查节点是否存在,然后声明变量:

$second_node = ""; // Or whatever
if (isset($url_parts[2]) {
    $second_node = $url_parts[2];
}

在此处检查:

这是因为在初始化
$second\u节点时抛出了错误

首先检查节点是否存在,然后声明变量:

$second_node = ""; // Or whatever
if (isset($url_parts[2]) {
    $second_node = $url_parts[2];
}

在这里检查:

您可以执行以下操作:

$second_node = isset($url_parts[2]) ? $url_parts[2] : FALSE;
if ($second_node)
{
    echo "Second node: {$second_node}";
}

这将检查是否设置了
$url\u parts
数组的第三个索引(基于0)。如果是,它会将其值分配给
$second\u节点
。如果没有,它将分配
FALSE
,以便您以后(再次)需要检查时可以在代码中进一步处理该问题。

您可以执行以下操作:

$second_node = isset($url_parts[2]) ? $url_parts[2] : FALSE;
if ($second_node)
{
    echo "Second node: {$second_node}";
}

这将检查是否设置了
$url\u parts
数组的第三个索引(基于0)。如果是,它会将其值分配给
$second\u节点
。如果没有,它将分配
FALSE
,以便您可以在代码中进一步处理该问题,如果您需要稍后(再次)检查它。

可能重复的可能重复的可能重复的感谢回复,我可以在我的网站的另一部分使用此功能。然而,对于这个特殊的问题,我需要在一个位置分配变量,并测试它的存在。感谢回复,我可以在我的网站的另一部分使用它。然而,对于这个特殊的问题,我需要在一个位置分配变量并测试它的存在性。这很好,它正是我所需要的。谢谢Mario。我将如何使用您的示例:
$post\u title=perch\u blog\u post\u字段(perch\u get('s'),'postTitle',true)@StephenMeehan我认为这是一个不同的问题。我的示例检查是否存在特定的数组条目。但是您的示例没有使用任何数组。如果您想检查
$post\u title
是否包含任何内容,您可以使用
空($post\u title)
strlen($post\u title)
。这很好,它正好满足了我的需要。谢谢Mario。我将如何使用您的示例:
$post\u title=perch\u blog\u post\u字段(perch\u get('s'),'postTitle',true)@StephenMeehan我认为这是一个不同的问题。我的示例检查是否存在特定的数组条目。但是您的示例没有使用任何数组。如果您想检查
$post\u title
是否包含任何内容,您可以使用
空($post\u title)
strlen($post\u title)
。感谢您花时间回复。所以我可以设置变量,但不给它赋值。美好的还有,我不知道你链接到的那个工具。非常感谢。感谢您抽出时间回复。所以我可以设置变量,但不给它赋值。美好的还有,我不知道你链接到的那个工具。谢谢。