1

我的代码有什么问题?

警告:在第 12 行为 foreach() 提供的参数无效)

<?php

$id = array("price" => "10");

$id['price'][1] = $id['price'];
$id['price'][3] = ($id['price'] * 3 * 0.97);
$id['price'][6] = ($id['price'] * 6 * 0.95);

$id['price'][3] = round($id['price'][3],2);
$id['price'][6] = round($id['price'][6],2);

foreach($id['price'] as $money) {
  echo '<option value="'.$money.'">.'.$money.'$</option>'."\n";
}

?>
4

1 回答 1

4

您收到此错误是因为$id['price']它是一个字符串(如您定义的那样),而不是一个数组。

在 PHP 中,您可以像访问数组索引一样访问字符串索引,因此您可以使用$id['price'][x]分配设置字符串的各个字符,然后尝试在foreach.

如果你var_dump( $id['price']);在循环之前做了一个,你会看到:

string(7) "11 3  6"

如果你想要一个数组,并让每个赋值在数组中创建一个不同的元素,初始化$id['price']为一个数组,并适当地添加元素:

$id = array("price" => array( "10"));

$id['price'][1] = $id['price'][0];
$id['price'][3] = ($id['price'][0] * 3 * 0.97);
$id['price'][6] = ($id['price'][0] * 6 * 0.95);

$id['price'][3] = round($id['price'][3],2);
$id['price'][6] = round($id['price'][6],2);
于 2013-01-12T21:43:41.510 回答