【发布时间】:2016-06-10 07:00:27
【问题描述】:
我想使用数组作为函数的参数。我希望这是有效的:
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'];
}
【问题讨论】:
-
在你定义它之后和调用你的函数之前做一个
var_dump($array);... -
@jeroen 结果
array(3) { [0]=> string(12) "" [1]=> string(14) "" [2]=> string(14) "" } -
当您执行
implode($array)时,您是否希望它评估数组中的表达式,例如$row['id']?事情不是这样运作的。它只是按字面意思组合字符串。 -
@Jarla 只是为了安全起见,您能否确认您的数据库连接在您的函数中有效?也许有
try()catch()块? -
我不知道您使用的是什么 php 版本,但我预计会出现解析错误或 3 个空字符串。
标签: php arrays function foreach