我不知道如何抓取变量中的数据并将其放入foreach循环中。
class Tree{
private $info = array(
array('name'=>'Jim','state'=>'NU','company'=>'NU','phone'=>array('cell'=>'5615111111','office'=>'5611111111'),'email'=>array('primary'=>'exs@example.com','ex@there.com')),
array('name'=>'Joe Smith','city'=>'Phoenix','phone'=>'4805551111','email'=>'jsmith@some_email.com'),
array('name'=>'John Doe','city'=>'Chandler','company'=>'Doe Co.','email'=>array('jdoe@gmail.com','personal'=>'email@email.com'),'phone'=>'6025550002')
);
}
答案 0 :(得分:1)
假设您在同一个班级中使用该变量,则可以执行此操作。
$arrVal = array();
$arrVal = $info;
foreach ($arrVal as $val)
{
foreach($val as $sing)
{
//access the value of each array with index. Eg: $sing['name']
}
}
我希望这有助于你
答案 1 :(得分:1)
如果您在课堂内,可以使用$this->variableName
访问您的私人变量。例如,如果在__construct方法中使用它,则可以回显所有这些名称:
假设您有一个名为Class.Tree.php
的文件:
class Tree{
private $info = array(
array('name'=>'Jim','state'=>'NU','company'=>'NU','phone'=>array('cell'=>'5615111111','office'=>'5611111111'),'email'=>array('primary'=>'exs@example.com','ex@there.com')),
array('name'=>'Joe Smith','city'=>'Phoenix','phone'=>'4805551111','email'=>'jsmith@some_email.com'),
array('name'=>'John Doe','city'=>'Chandler','company'=>'Doe Co.','email'=>array('jdoe@gmail.com','personal'=>'email@email.com'),'phone'=>'6025550002')
);
public function __construct() {
// Leaving this in for references' sake
/* foreach ($this->info as $elm) {
* echo $elm["name"] . "<br/>";
* }
**/
}
public function getInfo() {
return $this->info;
}
}
现在在您的视图(正文)中,您可以使用以下内容:
<?php
// Watch this line that you really have a file called Class.Tree.php in the same directory!
require_once 'Class.Tree.php';
$tree = new Tree();
$info = $tree->getInfo();
?>
<table>
<tr>
<th>Name</th>
<th>State</th>
<th>City</th>
<th>Phone</th>
</tr>
<?php foreach ($info as $elm) { ?>
<tr>
<td><?php echo (isset($elm['name'])) ? $elm['name'] : ""; ?></td>
<td><?php echo (isset($elm['state'])) ? $elm['state'] : ""; ?></td>
<td><?php echo (isset($elm['city'])) ? $elm['city'] : ""; ?></td>
<td>
<?php if (isset($elm['phone'])) {
if (is_array($elm['phone'])) {
foreach ($elm['phone'] as $key => $phone) {
echo $phone . " ($key)<br/>";
}
} else {
echo $elm['phone'];
}
} ?>
</td>
</tr>
<?php } ?>
</table>
答案 2 :(得分:0)
public function show() {
foreach ($this->info as $node) {
foreach ($node as $key => $value) {
echo "key = " . $key . ", value = " . $value . PHP_EOL; // $value may be Array
}
}
}