我有以下for循环:
<?php foreach($this->relatedItems as $key=>$item): ?>
<div class="column1"><?php echo $item->extraFields->field1->value; ?></div>
<div class="column2"><?php echo $item->extraFields->field2->value; ?></div>
<div class="column3"><?php echo $item->extraFields->field3->value; ?></div>
<?php endforeach; ?>
我想为传递的每个相关项目的每个自定义字段创建一个变量,以便在循环之外使用。
理想情况下我会有变量:
relatedItems1_field1, relatedItems1_field2, relatedItems1_field3, relatedItems1_field4, relatedItems2_field1, relatedItems2_field2, relatedItems2_field3, relatedItems2_field4, relatedItems3_field1, relatedItems3_field2, relatedItems3_field3, relatedItems3_field4
非常感谢任何帮助,非常感谢提前!
答案 0 :(得分:1)
备选方案1
只要$this->relatedItems
不是一个关联数组(键不是顺序或字符串作为键),那么你可以在循环外使用它:
$this->relatedItems[0]->extraFields->field1->value
备选方案2
如果$this->relatedItems
中的数组键不可预测/关联,则可以使用以下代码:
<?php
$keys = [];
foreach($this->relatedItems as $key => $item):
$keys[] = $key;
?>
<div class="column1"><?php echo $item->extraFields->field1->value; ?></div>
<div class="column2"><?php echo $item->extraFields->field2->value; ?></div>
<div class="column3"><?php echo $item->extraFields->field3->value; ?></div>
<?php
endforeach;
?>
这将创建一个包含所有键的数组(0-9,如果$this->relatedItems
中有10个数组项)。
然后你可以在循环外使用它:
$this->relatedItems[$keys[0]]->extraFields->field1->value
无需将所有值复制到新变量,因为您已在范围内拥有它们。
答案 1 :(得分:0)
您可以使用多维数组来存储值
查看示例代码。
<!DOCTYPE html>
<html>
<body>
<?php
$cars = array
(
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
) ;
echo $cars[0][0].": In stock: ".$cars[0][1].", sold: ".$cars[0][2].".<br>";
echo $cars[1][0].": In stock: ".$cars[1][1].", sold: ".$cars[1][2].".<br>";
echo $cars[2][0].": In stock: ".$cars[2][1].", sold: ".$cars[2][2].".<br>";
echo $cars[3][0].": In stock: ".$cars[3][1].", sold: ".$cars[3][2].".<br>";
?>
</body>
</html>
喜欢这个
$items = array();
foreach($group_membership as $username) {
$items[] = $username;
}
print_r($items);