如何在PHP中打印一个';是数组的一个元素,如果是',则是整个变量;它不是数组
假设我有$exampleVariable,我想打印它$exampleVariable可能是一个数组,在这种情况下,我设置它以获得正确的数组元素,然后可以使用如何在PHP中打印一个';是数组的一个元素,如果是',则是整个变量;它不是数组,php,arrays,Php,Arrays,假设我有$exampleVariable,我想打印它$exampleVariable可能是一个数组,在这种情况下,我设置它以获得正确的数组元素,然后可以使用print$exampleVariable[$I]打印它 if ($_GET) { $i = array_search($_GET["exampleQueryString"], $exampleVariable); } elseif (is_array($exampleVariable)) { $i = 0; } else {
print$exampleVariable[$I]
打印它
if ($_GET) {
$i = array_search($_GET["exampleQueryString"], $exampleVariable);
} elseif (is_array($exampleVariable)) {
$i = 0;
} else {
$i = "";
}
我的问题是最后一个else
,如果$exampleVariable不是数组,因为我得到的print$exampleVariable[]
不起作用。那么,有什么东西可以作为$I来打印整个变量吗
或者,我考虑将括号包含在$I中,因此我将使用例如$I=[0]代码>,但在这种情况下,我不知道如何打印它<代码>$exampleVariable$i
肯定不起作用
除了$exampleVariable之外,我还需要打印很多变量,所有变量都使用相同的$I或缺少$I,所以我不想做任何冗长的工作来分别设置它们
这听起来比我感觉的要复杂得多,所以希望它有意义 你总是可以做一件漂亮的事情,叫做类型转换。这意味着,通过在变量名称前面加上
(array)
,始终可以使变量成为数组,即使它不是:
因此,您根本不需要三个if
分支:
if ($_GET) {
$i = array_search($_GET["exampleQueryString"], $exampleVariable);
} else {
$i = 0;
$exampleVariable = (array)$exampleVariable;
}
你总是可以做一件漂亮的事情,叫做类型转换。这意味着,通过在变量名称前面加上
(array)
,始终可以使变量成为数组,即使它不是:
因此,您根本不需要三个if
分支:
if ($_GET) {
$i = array_search($_GET["exampleQueryString"], $exampleVariable);
} else {
$i = 0;
$exampleVariable = (array)$exampleVariable;
}
您可以应用(数组)
强制转换,如果目标已经是数组,则该转换无效:
$i = array_search($_GET["exampleQueryString"], (array)$exampleVariable);
您可以应用(数组)
强制转换,如果目标已经是数组,则该转换无效:
$i = array_search($_GET["exampleQueryString"], (array)$exampleVariable);
在结尾处的右括号中键入:
(数组($exampleVariable;
在结尾处的右括号中键入:(数组($exampleVariable;
为什么变量是数组或字符串存在歧义?我建议清理数据并将其转换为一致的结构。然后,也只有在那时,才将其输出给用户。如果发现大量类型检查都是代码味道。为什么变量是数组或字符串存在歧义我建议对数据进行清理并将其转换为一致的结构。然后,也只有在那时,才将其输出给用户。如果发现大量类型检查都是代码味道,请执行。