PHP使用通配符从数组打印多个值
我试图通过PHP从包含通配符的数组中打印多个值。我已经设法从这里的另一个问题中计算出了通配符元素,但我现在正努力打印来自多个实体的多个值。我使用的是(12271 stdClass对象是通配符,第一个stdClass对象是$order): 因此,下面的代码可以正常工作并正确打印出“MODEL1 1x”PHP使用通配符从数组打印多个值,php,arrays,drupal,drupal-7,ubercart,Php,Arrays,Drupal,Drupal 7,Ubercart,我试图通过PHP从包含通配符的数组中打印多个值。我已经设法从这里的另一个问题中计算出了通配符元素,但我现在正努力打印来自多个实体的多个值。我使用的是(12271 stdClass对象是通配符,第一个stdClass对象是$order): 因此,下面的代码可以正常工作并正确打印出“MODEL1 1x” <?php $model = current((array)$order->products)->model; $qty = current((array)$order->p
<?php
$model = current((array)$order->products)->model;
$qty = current((array)$order->products)->qty;
print $model.' '.$qty.'x';
?>
我不知道如何打印多个对象,以便打印出:
“型号1 1x”和“型号2 2x”
任何帮助都将不胜感激。作为参考,我试图在Drupal 7中打印Ubercart订单中的值。谢谢只需循环所有对象即可。为了简单起见,我将所有内容都保留为对象(而不是转换为数组),因为不需要
current()
:
如果您需要钥匙,如12271
,则:
foreach($order->products as $key => $object) {
echo $key;
echo $object->model . ' ' . $object->qty . 'x';
}
也许更容易阅读:
echo "{$object->model} {$object->qty}x";
只需循环所有对象。为了简单起见,我将所有内容都保留为对象(而不是转换为数组),因为不需要
current()
:
如果您需要钥匙,如12271
,则:
foreach($order->products as $key => $object) {
echo $key;
echo $object->model . ' ' . $object->qty . 'x';
}
也许更容易阅读:
echo "{$object->model} {$object->qty}x";
如果字段顺序是永久性的,则可以使用
foreach ($order->products as $product) {
vprintf('%s %ux' . PHP_EOL, $product);
}
否则
如果字段顺序是永久性的,则可以使用
foreach ($order->products as $product) {
vprintf('%s %ux' . PHP_EOL, $product);
}
否则
绝对明星,谢谢!我知道我需要在某处以某种形式使用foreach。。。我就是想不起来。谢谢你,太好了!绝对明星,谢谢!我知道我需要在某处以某种形式使用foreach。。。我就是想不起来。谢谢你,太好了!
foreach ($order->products as $p) {
printf('%s %ux%s', $p->model, $p->qty, PHP_EOL);
}