Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.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_Echo - Fatal编程技术网

Php 更清晰的多维阵列回音方法

Php 更清晰的多维阵列回音方法,php,echo,Php,Echo,上面的回音工作得很好,但是当它涉及到2d数组时,在我的sublime中,只有{$line['text_2']}这部分工作得很好。升华和浏览器的输出错误 echo "{$line['text_1']}"; 有什么想法吗 更新 echo "$array_2d[{$line['text_1']}][{$line['text_2']}]"; 使用xampp时,错误分析错误:语法错误,在C:\xampp\htdocs中意外出现“[”,应为“]” 我只是从mysql_fetch_assoc中输出一个值

上面的回音工作得很好,但是当它涉及到2d数组时,在我的sublime中,只有{$line['text_2']}这部分工作得很好。升华和浏览器的输出错误

echo "{$line['text_1']}";
有什么想法吗


更新

echo "$array_2d[{$line['text_1']}][{$line['text_2']}]";
使用xampp时,错误分析错误:语法错误,在C:\xampp\htdocs中意外出现“[”,应为“]”

我只是从mysql_fetch_assoc中输出一个值。我可以通过echo“”以另一种方式来完成,但是我正在尝试使我的代码更易于将来编辑和代码复制粘贴

是的,我在做类似的事情

echo "$array_2d[$line['text_1']][$line['text_2']]";
双引号中包含大量html代码。

这应该可以:

echo "The price is $array_2d[$line['text_1']][$line['text_2']]"
您可以使用
print\r()
回显阵列

e、 g:

输出将是:

Array
(
   [test] => 1
   [test2] => 2
   [multi] => Array
        (
            [multi] => 1
            [multi2] => 2
        )

 )
Array([test]=>1[test2]=>2[multi]=>Array([multi]=>1[multi2]=>2))

您还可以使用此选项使其在HTML上下文中更具可读性:

print_r($array);

为什么要输出数组


如果出于调试目的,您可以只使用本机php函数
print\u r()
var\u dump()

在回显变量时,不必使用引号:

echo $array_2d[$line['text_1']][$line['text_2']];
如果确实需要使用该字符串输出某些内容,Concationation操作符可以帮助您:

echo "Array: " . echo $array_2d[$line['text_1']][$line['text_2']];

示例变体

我想知道为什么您会尝试使用
$line
数组作为键来访问
$array\u 2d
中的数据

无论如何,试试这个:

echo($line['text_1'].'<br>');
也可以写得更短,如下所示:

echo($array_2d[$line['text_1']][$line['text_2']].'<br>');
'); 变量转储与打印之间的差异

var\u dump
函数显示变量(或表达式)的结构化信息,包括其类型和值。使用缩进的值递归地探索数组以显示结构
var_dump
还显示哪些数组值和对象属性是引用

另一方面,
print\r
以可读的方式显示有关变量的信息,数组值将以显示键和元素的格式显示。但您将错过
var\u dump
提供的详细信息

例如:

echo('<pre>');
var_dump($array_2d);
echo('</pre>'); 
Array
(
    [0] => test
    [1] => 1
    [2] => Array
        (
            [0] => two
            [1] => more
        )
)
打印的输出\u r

array(3) {
  [0]=> string(4) "test"
  [1]=> int(1)
  [2]=> array(2) 
        {
            [0]=> string(3) "two"
            [1]=> string(4) "more"
        }
}
var\u dump的输出

$array = 'YOUR ARRAY';
echo "<pre>";
print_r($array);
echo "</pre>";
您可以使用
print\u r()
var\u dump()
回送数组

print\u r()

$array = 'YOUR ARRAY';
var_dump($array);

你应该能够说

获取子元素

当然,只有当它不是字符串中的唯一内容时,它才真正有用。如果你只是重复一个值,你不需要引号,事情就会变得简单


我将回显多行代码,用于html+javascript代码。打印支持多字符串?
echo“$array_2d[$line['text_1']][$line['text_2']]”应该可以工作,为什么需要{}?不打印整个数组,只需要mysqlecho“$array_2d[$line['text_1']][$line['text_2']]”的特定结果;这将是一个错误,只需执行echo$array_2d[$line['text_1'][$line['text_2'];我在一个新项目中首先要做的事情之一就是定义
preprint()
来做这件事:)我总是让它变得更智能——处理数组、对象、字符串等等——这样我就可以调用函数,而不必关心打印的内容。省去打字:)哦,这是工作,我真不敢相信!我的升华是强调这种语法作为错误的方法,网络浏览器能够解析
$array = array('test', 1, array('two', 'more')); 
Array
(
    [0] => test
    [1] => 1
    [2] => Array
        (
            [0] => two
            [1] => more
        )
)
array(3) {
  [0]=> string(4) "test"
  [1]=> int(1)
  [2]=> array(2) 
        {
            [0]=> string(3) "two"
            [1]=> string(4) "more"
        }
}
$array = 'YOUR ARRAY';
echo "<pre>";
print_r($array);
echo "</pre>";
$array = 'YOUR ARRAY';
var_dump($array);
echo "item is {$array_2d[$line['text1']][$line['text2']]}";
echo $array_2d[$line['text1']][$line['text2']];