Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 输出为数组_Php - Fatal编程技术网

Php 输出为数组

Php 输出为数组,php,Php,当您调用mysql\u fetch\u array($result)时,您已经在一个数组中获得了结果。这就是我所做的 除非你想要其他类型的数组格式?如果是这样,您必须更具体。使用: echo”“; 打印(行); 回声“; 注意:如果不将其包装在标记中,则输出将很难读取,因为它将全部显示在一行上请这样尝试,注意编写SQL语句的here doc风格。我觉得这很有帮助。我还建议重写SQL以使用联接,而不是用联接条件拥挤WHERE子句 $sql = <<<EOSQL SELECT p

当您调用
mysql\u fetch\u array($result)
时,您已经在一个数组中获得了结果。这就是我所做的

除非你想要其他类型的数组格式?如果是这样,您必须更具体。

使用:

echo”“;
打印(行);
回声“;

注意:如果不将其包装在
标记中,则输出将很难读取,因为它将全部显示在一行上

请这样尝试,注意编写SQL语句的here doc风格。我觉得这很有帮助。我还建议重写SQL以使用联接,而不是用联接条件拥挤WHERE子句

$sql = <<<EOSQL
SELECT p.page_url AS url, COUNT(*) AS occurrences 
FROM page p, word w, occurrence o
WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = "$keyword"
GROUP BY p.page_id
ORDER BY occurrences DESC;
EOSQL;
$result = mysql_query($sql) or die('failed to execute the query');

while ($row = mysql_fetch_array($result)) {
    print_r ($row);
}
while($row = mysql_fetch_array($result)) {
  $tmp['url'] = $row['url'];
  $tmp['occurrences'] = $row['occurrences'];
  $ret[] = $tmp;
}
return $ret;

$sql=for循环只能以增量方式使用,您试图使用它来代替while循环。这不是“做1000次”,而是“在我们有一行要用的时候做”

试试这个:


在使用$tmp数组之前,您需要初始化它。

我不太明白这个问题?从mysql_query()获得的$result已经是一个数组。上面的php代码将该数组格式化为XML。Mate,我需要它与Flex通信,当它是XML格式时,我无法获得最终输出。。。因此,考虑将其转换为数组。。。。但是当我这么做的时候。。。它不起作用。@theband:重新表述您的问题,或者发布一个后续问题,询问如何使用PHP查询MySQL数据库并将结果传输给Flex。如果你问的问题不对,我们帮不了你。你想让你的php数组成为flex应用程序中的数组吗?同意。您已经获得了数组,这就是您用来构建XML的内容。如果您不想要XML。。。不构建它吗?$ret=array();对于($i=1;$row=mysql_fetch_array($result);$i++{$tmp['url']=$row['url'];$tmp['ocations']=$row['ocations'];$ret[]=$tmp;}返回$ret;我可以这样做吗。@theband:为什么不
返回mysql\u fetch\u数组($result)
?你为什么把事情搞得太复杂了?当我试图返回$row时。。。我无法在flex应用程序中获取值。girdId.dataprovider=event.result as Array这不是从PHP获取数组值。
echo "<pre>";
print_r($row);
echo "</pre>";
$sql = <<<EOSQL
SELECT p.page_url AS url, COUNT(*) AS occurrences 
FROM page p, word w, occurrence o
WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = "$keyword"
GROUP BY p.page_id
ORDER BY occurrences DESC;
EOSQL;
$result = mysql_query($sql) or die('failed to execute the query');

while ($row = mysql_fetch_array($result)) {
    print_r ($row);
}
while($row = mysql_fetch_array($result)) {
  $tmp['url'] = $row['url'];
  $tmp['occurrences'] = $row['occurrences'];
  $ret[] = $tmp;
}
return $ret;