Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Loops - Fatal编程技术网

用于循环打印数组的PHP

用于循环打印数组的PHP,php,arrays,loops,Php,Arrays,Loops,这似乎是一个非常简单的问题,但它让我感到困惑。lol。我正试图打印从数据库收到的行。我想将行存储在数组中,然后使用for循环打印它们。我知道查询可以工作,但是当我尝试打印数组元素时,它只打印单词数组。我已经厌倦了使用foreach循环和简单for循环。如果有人能给我指出正确的方向,我将是一个救生员 打印Php代码 <?php $type = "FREE"; $free = getTerms($type); echo "<p>"; for($j

这似乎是一个非常简单的问题,但它让我感到困惑。lol。我正试图打印从数据库收到的行。我想将行存储在数组中,然后使用for循环打印它们。我知道查询可以工作,但是当我尝试打印数组元素时,它只打印单词数组。我已经厌倦了使用foreach循环和简单for循环。如果有人能给我指出正确的方向,我将是一个救生员

打印Php代码

<?php

    $type = "FREE";
    $free = getTerms($type);
    echo "<p>";
    for($j = 0; $j < count($free); $j++)
    {
    echo "start".$free[$j]."end";
    }
    echo "</p>";                        
?>
function getTerms($type)
{
    $terms = array();
    $connection = mysql_open(); 
    $query = "select terms from terms_and_con where accountType='$type' && currentTerms='YES'";
    $results = mysql_query($query, $connection) or show_error("signUp.php", "", "");

    while($row = mysql_fetch_array($results))
    {
       $terms[] = $row;
    }
    mysql_close($connection) or show_error("signUp.php", "", "");
    return $terms;
}

$free
数组中的每个条目本身就是一个数组(来自
$row

试一试

或者,您可能会发现
foreach
循环在语义上更合适

foreach ($free as $row) {
    echo 'start', $row['terms'], 'end';
}

编辑:我建议使用
mysql\u fetch\u assoc()
而不是
mysql\u fetch\u array()
,如果您只想使用
$row
中的关联条目,
$free
数组中的每个条目本身就是一个数组(来自
$row

试一试

或者,您可能会发现
foreach
循环在语义上更合适

foreach ($free as $row) {
    echo 'start', $row['terms'], 'end';
}

编辑:我建议使用
mysql\u fetch\u assoc()
而不是
mysql\u fetch\u array()
如果您只使用
$row
中的关联条目,那么问题是函数mysql\u fetch\u array(顾名思义)会返回一个(在您的情况下是关联和数字)数组。所以$row实际上是数组(0=>VALUE,'terms'=>VALUE')

所以你要回显的实际上是一个数组

简单修复: 替换:

$terms[] = $row;
与:


问题是函数mysql_fetch_array(顾名思义)返回一个(在您的例子中是关联数组和数字数组)。所以$row实际上是数组(0=>VALUE,'terms'=>VALUE')

所以你要回显的实际上是一个数组

简单修复: 替换:

$terms[] = $row;
与:


非常感谢您将其+1改为note,仅仅因为您只从MySQL中选择了一个值并不意味着它只返回该元素,它仍然是数组中的一个key=>value对。+1我以为他想打印数组,只是查询中的terms值。非常感谢您将其+1改为note,仅仅因为您只从MySQL中选择一个值并不意味着它只返回该元素,它仍然是数组中的一个key=>value对。+1我以为他想打印数组,只打印查询中的terms值。