当第二个节点不运行时处理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)
。感谢您花时间回复。所以我可以设置变量,但不给它赋值。美好的还有,我不知道你链接到的那个工具。非常感谢。感谢您抽出时间回复。所以我可以设置变量,但不给它赋值。美好的还有,我不知道你链接到的那个工具。谢谢。