Php 无法打印阵列';s项在另一个函数中
我有这样一个数组:Php 无法打印阵列';s项在另一个函数中,php,arrays,Php,Arrays,我有这样一个数组: function func1() { $web( 'news' => 'yes', 'items' => ''); // I call `$web['item']` and fill it as array: $web['item'][] = 'item1'; $web['item'][] = 'item2'; $web['item'][] = 'item3'; foreach($web['item'] as $item) echo $item,'-'
function func1()
{
$web( 'news' => 'yes',
'items' => '');
// I call `$web['item']` and fill it as array:
$web['item'][] = 'item1';
$web['item'][] = 'item2';
$web['item'][] = 'item3';
foreach($web['item'] as $item) echo $item,'-';
//result: item1 - item 2 - item 3
func2($web)
}
现在一切听起来都很好…但当我将$web发送到另一个函数时,它只是打印
function func2($web)
{
foreach($web['item'] as $item) echo $item,'-';
//result: item1 -
}
我怎么了?您的和数组有问题。要声明新数组,您有一些选项。我个人喜欢最短的路:
$web = [];
把它和更正放在一起
function func1()
{
$web = [];
$web['item'][] = 'item1';
$web['item'][] = 'item2';
$web['item'][] = 'item3';
foreach($web['item'] as $item)
{
echo $item.'-';
}
echo "<br>";
func2($web);
}
function func2($web)
{
foreach($web['item'] as $item)
{
echo $item.'-';
}
}
函数func1()
{
$web=[];
$web['item'][]='item1';
$web['item'][]='item2';
$web['item'][]='item3';
foreach($web['item']作为$item)
{
回声$item.'-';
}
回声“
”;
功能2($网络);
}
函数func2($web)
{
foreach($web['item']作为$item)
{
回声$item.'-';
}
}
我添加了一个
echo“
”代码>因此结果将显示在单独的行上。我没有包括对本例不太有用的行,你可以将这些添加进来。现在你的函数1中没有一个句子,这就有点意义了。我假设这是一个示例代码,因为在创建数组$web时,这会产生语法错误,因为你使用括号而不是括号,而语法错误使用函数2()。但是,如果不是这样的话,这很好…您应该稍微了解一下如何在PHP中声明数组。老实说,其他一切都没问题。你也可以用逗号连接。我知道,令人困惑,但PHP允许这样做。除了此示例代码中的语法错误外,不存在任何问题。