echo“<pre>&#34;;print_r($myarray);echo &#34;</pre>”的快捷方式;

时间:2010-09-24 08:02:34

标签: php

是否有

的快捷方式
echo "<pre>";
   print_r($myarray);
echo "</pre>";

为了获得一个可读的数组格式,输入它们真的很烦人。

18 个答案:

答案 0 :(得分:61)

这是最短的:

echo '<pre>',print_r($arr,1),'</pre>';

也可以省略结束标记。

答案 1 :(得分:24)

不,你只需要创建自己的功能:

function printr($data) {
   echo "<pre>";
      print_r($data);
   echo "</pre>";
}

显然,在2018年,人们仍然会回到这个问题。以上不是我目前的答案。我会说:教你的编辑为你做这件事。我有一大堆调试快捷方式,但我最常用的是vardd,它扩展为:var_dump(__FILE__ . ':' . __LINE__, $VAR$);die();

您可以在PHPStorm中将其配置为实时模板。

答案 2 :(得分:13)

您可以将print_r的第二个参数设置为true以获取返回的输出而不是直接打印:

$output = print_r($myarray, true);

您可以使用此功能将所有内容整合到一个echo中(如果要将其打印为HTML,请不要忘记htmlspecialchars):

echo "<pre>", htmlspecialchars(print_r($myarray, true)), "</pre>";

如果你把它放到自定义函数中,它就像使用print_r一样简单:

function printr($a) {
    echo "<pre>", htmlspecialchars(print_r($a, true)), "</pre>";
}

答案 3 :(得分:4)

echo '<pre>' . print_r( $myarray, true ) . '</pre>';

来自PHP.net print_r() docs

  

当[第二个]参数设置为TRUE时,print_r()将返回信息而不是打印信息。

答案 4 :(得分:3)

可能没有帮助,但如果数组是您将要展示的唯一内容,则可以随时设置

header('Content-type: text/plain');

答案 5 :(得分:3)

教你的编辑去做 -

写完“pr_”标签后,我得到了


print("<pre>");
print_r($);
print("</pre>");

光标就在$

之后

我是通过添加此片段在textmate上完成的:


print("<pre>");
print_r(\$${1:});
print("</pre>");

答案 6 :(得分:2)

如果您使用XDebug,只需使用

var_dump($variable);

这将转储像print_r那样的变量 - 但格式很好且位于<pre>

(如果您不使用XDebug,则var_dumpprint_r <pre>的格式不合{。}}。

答案 7 :(得分:2)

echo "<pre/>"; print_r($array);

答案 8 :(得分:1)

无论是旧的还是接受的,我都会把它留在这里:

function dump(){
    echo (php_sapi_name() !== 'cli') ? '<pre>' : '';
    foreach(func_get_args() as $arg){
        echo preg_replace('#\n{2,}#', "\n", print_r($arg, true));
    }
    echo (php_sapi_name() !== 'cli') ? '</pre>' : '';
}

接受任意数量的参数,并在<pre>中为CGI请求包装每个参数。在CLI请求中,它会跳过<pre>标记生成以获得干净的输出。

dump(array('foo'), array('bar', 'zip'));
/*
CGI request                          CLI request

<pre>                                Array
Array                                (
(                                        [0] => foo
    [0] => foo                       )
)                                    Array
</pre>                               (
<pre>                                    [0] => bar
Array                                    [1] => zip
(                                    )
    [0] => bar
    [0] => zip
)
</pre>

答案 9 :(得分:1)

我只是将函数pr()添加到我的项目的全局范围。 例如,您可以将以下函数定义为global.inc(如果有),该函数将包含在您站点的index.php中。或者您可以直接在根目录的index.php顶部定义此函数。

   function pr($obj)
   {
      echo "<pre>";
      print_r ($obj);
      echo "</pre>";
   }

答案 10 :(得分:1)

只需写下

print_r($myarray); //它会显示数组$myarray

的内容

exit(); //显示数组后不会执行更多代码

答案 11 :(得分:0)

如果使用 VS CODE ,则可以使用: Ctrl + Shift + P -> Configure User Snippets -> PHP -> Enter

之后,您可以将代码输入到文件php.json中:

"Show variable user want to see": {
  "prefix": "pre_",
  "body": [
     "echo '<pre>';",
     "print_r($variable);",
     "echo '</pre>';"
  ],
  "description": "Show variable user want to see"
}

此后,保存文件 php.json ,然后返回第一个扩展名为 .php 的文件,并输入pre_-> Enter 完成,希望对您有所帮助。

答案 12 :(得分:0)

您可以使用首选项->键绑定

Sublime Text 编辑器中创建快捷键。

现在在方括号[]中的“键绑定”右侧添加下面的代码

{ 
    "keys": ["ctrl+shift+c"],
    "command": "insert_snippet",
    "args": { "contents": "echo \"<pre>\";\nprint_r(${0:\\$variable_to_debug});\necho \"</pre>\";\ndie();\n" }
}

将您的 ctrl + shift + c 快捷方式用作PHP的漂亮印刷品。

答案 13 :(得分:0)

我一般都喜欢创建自己的功能,如上所述。但是我想添加一些东西,这样如果我不小心留下调试代码,我可以在代码库中快速找到它。也许这会帮助其他人。

function _pr($d) {
    echo "<div style='border: 1px solid#ccc; padding: 10px;'>";
    echo '<strong>' . debug_backtrace()[0]['file'] . ' ' . debug_backtrace()[0]['line'] . '</strong>';
    echo "</div>";
    echo '<pre>';
    if(is_array($d)) {
    print_r($d);
    } else if(is_object($d)) {
    var_dump($d);
    }
    echo '</pre>';
}

答案 14 :(得分:0)

<?php
$people = array(
    "maurice"=> array("name"=>"Andrew",
                      "age"=>40,
                      "gender"=>"male"),
    "muteti" => array("name"=>"Francisca",
                      "age"=>30,
                      "gender"=>"Female")
               );
'<pre>'.
print_r($people).
'</pre>';

/*foreach ($people as $key => $value) {
    echo "<h2><strong>$key</strong></h2><br>";
    foreach ($value as $values) {
    echo $values."<br>";;
    }
}*/
//echo $people['maurice']['name'];

?>

答案 15 :(得分:0)

我会关闭php标签然后输出<pre></pre>作为html,所以PHP在回复它之前不必处理它:

?>

<pre><?=print_r($arr,1)?></pre>

<?php

一般而言,这也应该更快(对于这个短片而言并不值得注意)。使用可以用作PHP代码的短代码。

答案 16 :(得分:0)

function printr($data)
{
   echo "<pre>";
      print_r($data);
   echo "</pre>";
}

并在您需要的页面上调用您的函数,不要忘记包含您放置函数的文件,例如:functions.php

include('functions.php');

printr($data);

答案 17 :(得分:0)

也许你可以构建一个完全相同的函数/静态类方法。我使用Kohana,它有一个很好的函数叫做:

Kohana::Debug

那会做你想要的。这将它减少到只有一行。一个简单的函数看起来像

function debug($input) {
    echo "<pre>";
    print_r($input);
    echo "</pre>";
}