我遇到了一条PHP foreach声明,说我无法找到任何文档。
以下是我无法理解的代码:
<?php foreach((array)$this->item->partno as $value): ?>
// do some stuff
<?php endforeach; ?>
这个foreach是什么(数组)正在做什么以及发生了什么?
答案 0 :(得分:3)
你在数组中投射(转换)$this->item->partno
的任何类型。
更多关于php docs here
的内容答案 1 :(得分:1)
当您拥有一个函数并且希望它获取可以是单个值或数组的参数时,此技术很有用。例如,您通常可以执行以下操作:
function foo($items) {
if (!is_array($items)) {
$items = array($items);
}
foreach ($items as $item) {
// ...
}
}
通过将变量强制转换为内联数组,可以避免显式数组检查,如果将单个值或数组传递给代码,代码将正常工作:
function foo($items) {
foreach ((array) $items as $item) {
// ...
}
}
foo(1);
foo([1, 2, 3]);