如何使用数组作为函数的参数?
问题描述:
我想使用一个数组作为函数的参数。我希望这是工作:如何使用数组作为函数的参数?
function data($array){
$pdo = Database::connect();
$sql = 'SELECT * FROM data ORDER BY id DESC';
foreach ($pdo->query($sql) as $row) {
$elements = implode($array);
echo "Start> ".$elements. "<End";
}
}
$array = array("$row['id']", "$row['name']", "$row['age']", "$someothervariable");
data($array);
但我的结果是:Start> <End
编辑:
像这一切运作良好:
$pdo = Database::connect();
$sql = 'SELECT * FROM data ORDER BY id DESC';
foreach ($pdo->query($sql) as $row) {
echo $row['id'];
echo $row['name'];
echo $row['age'];
}
答
不清楚是什么你正在尝试做的。也许你想这样的:
function data($fields)
{
$pdo = Database::connect();
$sql = 'SELECT ' . implode(', ', $fields) . ' FROM data ORDER BY id DESC';
foreach ($pdo->query($sql) as $row)
{
echo implode(', ', $row);
}
}
$fields = array('id', 'name', 'age');
data($fields);
答
function data($array){
$pdo = Database::connect();
$sql = 'SELECT * FROM data ORDER BY id DESC';
foreach ($pdo->query($sql) as $row) {
$elements = implode($array);
echo $elements;
} // this is end of foreach
} // you are missing this braces
$array = array("$row['id']", "$row['name']", "$row['age']");
data($array);
工作示例:http://sandbox.onlinephpfunctions.com/code/20d306c8c7df9d4c446eebd34703a7fd68f76665
只是做了'的var_dump($阵列);'就在你定义后,你打电话给你的函数... – jeroen
@jeroen结果之前'阵列(3){[0] =>字符串(12)“”[1] =>字符串(14)“”[2] =>字符串(14)“”}' – Jarla
您是否期望它评估数组中的表达式,比如'$ row [' id']'当你做'implode($ array)'?这不是事情的方式。它只是从字面上结合字符串。 – Barmar