Php 作为字符串的Echo数组
我遇到了将echo'ing数组作为字符串的问题,以前的代码如下所示:Php 作为字符串的Echo数组,php,arrays,Php,Arrays,我遇到了将echo'ing数组作为字符串的问题,以前的代码如下所示: $years = array('2013', '2014'); foreach($years as $year) { //do rest of the code 我认为现在是时候让代码的其余部分更具动态性和“免提”了,所以我准备了一个从数据库年份中选择的小函数,而不是在新年到来时手动键入它 这是年份摘录的代码: function order_count_for_year($us_id) { $orders_for_y
$years = array('2013', '2014');
foreach($years as $year) {
//do rest of the code
我认为现在是时候让代码的其余部分更具动态性和“免提”了,所以我准备了一个从数据库年份中选择的小函数,而不是在新年到来时手动键入它
这是年份摘录的代码:
function order_count_for_year($us_id) {
$orders_for_year = array();
$query = "SELECT DISTINCT YEAR(`date_posted`) FROM `orders` WHERE `us_id` = {$us_id}";
$query = mysql_query($query);
while($row = mysql_fetch_assoc($query)) {
$orders_for_year[] = $row;
}
return $orders_for_year;
}
因此,如果我对该函数执行foreach,它将正确返回2013和2014,但我不能这样做,因此我执行了以下操作:
echo implode(', ', order_count_for_year($us_id));
它不起作用,它返回:数组,数组
,我不明白为什么它不起作用,它对应用程序中的不同数组起作用,但对这个数组不起作用
最后我想出了这样的废话:
$some_variable = '';
foreach(order_count_for_year($us_id) as $test) { $some_variable .= $test['YEAR(`date_posted`)'] . ', '; }
echo $some_variable;
这是可行的,但我不想把它弄得那么复杂,我觉得这不是个好主意。有人知道为什么它不能和内爆一起工作,或者如何让它在没有回路的情况下工作吗
请不要发布我必须使用变量进行内爆的答案,它不是必需的,即使-我测试过它,也不起作用。这是因为你每次都要向数组中添加
$row
,数组本身就是一个数组
您可能对以下内容感兴趣:
这样,列的名称就无关紧要了
或者,使用别名:
mysql_query("SELECT DISTINCT YEAR(`date_posted`) AS `year` FROM ...
然后,您可以在关联数组中以$row['year']
的形式访问它
此外,在列名周围实际使用反勾号时使用+1。这是因为每次都要将
$row
添加到数组中,而数组本身就是一个数组
您可能对以下内容感兴趣:
这样,列的名称就无关紧要了
或者,使用别名:
mysql_query("SELECT DISTINCT YEAR(`date_posted`) AS `year` FROM ...
然后,您可以在关联数组中以$row['year']
的形式访问它
另外,在列名周围实际使用反勾号时使用+1。如果您不知道正在处理的数据是什么样子,有一个简单的方法:使用
var\u dump($variable)
如果使用,您会立即发现里面没有一个包含两年字符串的数组,而是两层数组。如果您不知道要处理的数据是什么样子,有一个简单的方法:使用
var\u dump($variable)
如果使用,您会立即发现您没有一个包含两年字符串的数组,而是两层数组。您只是将
$row
分配给$orders\u for_year
;您需要将其指定为$orders\u for_year[]=$row['date\u posted']代码>旁注:mysql\u查询
已标记为删除。你可能不应该用它。这是因为您使用变量时不知道其中包含什么。养成在遇到类似情况时使用变量的习惯。其他人都这样做。您只是将$row
分配给$orders\u,为期一年
;您需要将其指定为$orders\u for_year[]=$row['date\u posted']代码>旁注:mysql\u查询
已标记为删除。你可能不应该用它。这是因为您使用变量时不知道其中包含什么。养成在遇到类似情况时使用变量的习惯。其他人都这样做。