Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/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 显示单词';数组';foreach循环中的每个数组值,而不是值本身_Php - Fatal编程技术网

Php 显示单词';数组';foreach循环中的每个数组值,而不是值本身

Php 显示单词';数组';foreach循环中的每个数组值,而不是值本身,php,Php,我知道以前也有人问过同样的问题,我也尝试过这个解决方案。所以,任何人在投否决票之前,都需要仔细考虑我的问题。因此,我尝试使用foreach函数显示数组值。当我尝试var\u dump该值时,它显示的是正确的值,但当我尝试echo它的值时,它只是为每个值显示一个单词“Array”。为什么会这样?我错过了什么 index.php <? $genders = $db->execute("select distinct(gender) from clothing where pid = 1)

我知道以前也有人问过同样的问题,我也尝试过这个解决方案。所以,任何人在投否决票之前,都需要仔细考虑我的问题。因此,我尝试使用
foreach
函数显示数组值。当我尝试
var\u dump
该值时,它显示的是正确的值,但当我尝试
echo
它的值时,它只是为每个值显示一个单词“Array”。为什么会这样?我错过了什么

index.php

<? $genders = $db->execute("select distinct(gender) from clothing where pid = 1); ?>

它返回一个数组,您需要像这样访问它:

<? $genders = $db->execute("select distinct(gender) gen from clothing where pid = 1); ?>

它返回一个数组,您需要像这样访问它:

<? $genders = $db->execute("select distinct(gender) gen from clothing where pid = 1); ?>

当echo向您显示单词“Array”时,表示您正试图通过echo打印数组。而echo无法打印阵列。为了打印数组,您必须使用print_r(数组)或var_dump(数组)。这两个函数都可以打印阵列。 这就是为什么当您使用var_dump时,它会显示正确的值

现在在foreach循环中应用相同的东西,您正尝试通过echo打印一个数组。 您应该在该数组中添加密钥,以便echo能够打印它。就像下面给出的一样

<? foreach ($genders as $gender) { ?>
       <p><?php echo $gender['gen'] ?></p> 
<? } ?>


当回音显示单词“Array”时,表示您正试图通过回音打印数组。而echo无法打印阵列。为了打印数组,您必须使用print_r(数组)或var_dump(数组)。这两个函数都可以打印阵列。 这就是为什么当您使用var_dump时,它会显示正确的值

现在在foreach循环中应用相同的东西,您正尝试通过echo打印一个数组。 您应该在该数组中添加密钥,以便echo能够打印它。就像下面给出的一样

<? foreach ($genders as $gender) { ?>
       <p><?php echo $gender['gen'] ?></p> 
<? } ?>


通常,echo用于更简单的数据类型,如字符串或整数。对于数组,您应该使用var_dump或print_r来显示完整的信息,这就是您所追求的。如果您在阵列上使用echo,您将只获得试图显示阵列的信息,但无法获得所需的实际信息。如果坚持使用echo,则可以这样做,但需要指定感兴趣的数组的索引,例如:

echo $array[0];
例如,它将显示一个字符串hello

如果你需要更多信息,我在quora上找到了这个帖子


https://www.quora.com/Learning-PHP-What-is-the-difference-between-var_dump-and-echo-statements

通常,echo用于更简单的数据类型,如字符串或整数。对于数组,您应该使用var_dump或print_r来显示完整的信息,这就是您所追求的。如果您在阵列上使用echo,您将只获得试图显示阵列的信息,但无法获得所需的实际信息。如果坚持使用echo,则可以这样做,但需要指定感兴趣的数组的索引,例如:

echo $array[0];
例如,它将显示一个字符串hello

如果你需要更多信息,我在quora上找到了这个帖子


https://www.quora.com/Learning-PHP-What-is-the-difference-between-var_dump-and-echo-statements

您能否将var_dump的输出粘贴到此处(性别);可能是因为这些值位于另一个数组中。你能给我们看看你的
var\u dump($gender)
“var\u dump显示结果:mf”吗。不,这不是
var\u dump()
的输出。您应该显示实际的精确输出是。$SENDER必须仍然是数组,而不是字符串。打印r($genders)(或var_dump if object)时会得到什么?可以将var_dump($genders)的输出粘贴到这里吗;可能是因为这些值位于另一个数组中。你能给我们看看你的
var\u dump($gender)
“var\u dump显示结果:mf”吗。不,这不是
var\u dump()
的输出。您应该显示实际的精确输出是。$SENDER必须仍然是数组,而不是字符串。当你打印r($genders)(或者var_dump if object)时,你会得到什么?这就是我所缺少的。谢谢。谢谢!这就是我所缺少的。谢谢。谢谢!