PHP foreach((数组))行为

PHP foreach((数组))行为,php,foreach,Php,Foreach,我遇到了一个PHP foreach语句,我在上面找不到任何文档 以下是我难以理解的代码: <?php foreach((array)$this->item->partno as $value): ?> // do some stuff <?php endforeach; ?> //做点什么 (数组)在做什么?这个foreach发生了什么事?您正在数组中铸造(转换)任何类型的$this->item->partno 在php文档中,您将在数组中铸造(

我遇到了一个PHP foreach语句,我在上面找不到任何文档

以下是我难以理解的代码:

<?php foreach((array)$this->item->partno as $value): ?>
    // do some stuff
<?php endforeach; ?>

//做点什么
(数组)在做什么?这个foreach发生了什么事?

您正在数组中铸造(转换)任何类型的
$this->item->partno

在php文档中,您将在数组中铸造(转换)任何类型的
$this->item->partno


php文档中详细介绍了这一点,如果您有一个函数,并且希望它接受的参数可以是单个值或数组,则此技术非常有用。例如,您通常可以执行以下操作:

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]);

当您有一个函数,并且希望它接受的参数可以是单个值或数组时,此技术非常有用。例如,您通常可以执行以下操作:

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]);

这只是说该项是一个数组,foreach在每次迭代时都从数组中获取一个值。看起来基本搜索可能会有所帮助。@Adam-如果您不知道术语是什么,则不会。如果他不知道它叫什么,他应该搜索什么?@Utkanos-如果你了解编程的基本知识,您可以理解这是在强制转换一个对象。它只是说该项是一个数组,foreach在每次迭代时都从数组中获取一个值。看起来基本搜索在这里可能会有所帮助。@Adam-如果您不知道术语是什么,则不会。如果他不知道它叫什么,他应该搜索什么?@Utkanos-如果你了解编程的基础知识,你就可以理解这是在铸造一个对象。