首頁 >後端開發 >php教程 >echo,print()和print_r()三者有什麼差別?

echo,print()和print_r()三者有什麼差別?

墨辰丷
墨辰丷原創
2018-05-15 17:50:383419瀏覽


這篇文章主要介紹echo,print()和print_r()有什麼差別,有興趣的朋友了解一下。

1.echo,print()和print_r()有什麼差別?
echo是一個語言結構,沒有傳回值。 print是一個函數,傳回int型別的值。 print_r()是一個函數,傳回bool型別值,依結構輸出變數的值。
2.在HTTP 1.0中,狀態碼401 的意思是(未授權,目前要求需要使用者驗證);如果傳回「找不到檔案」的提示,則可用header 函數,其語句為(header("HTTP/1.0 404 Not Found"))。
3. $str="cd";      
    $$str="hotdog";  209861d5cd2975725c730f519ed6ad71 $cd="hotdog";      
#    $$str.="ok";   
#    echo $cd;    209861d5cd2975725c730f519ed6ad71 "hotdogok".
4. echo 3 . print(2) . print(4) . 5 . 'c';//45c2131 (此類題請參考之前的博文“關於 PHP 中echo 和print 和'.' 運算子混合的運算分析」裡面有介紹)
5.echo '2'.print(2) 3 ;//521
6.echo print(8) . 'a'; //8a
7.print(8) . 'a'; // 8a
8.用PHP列印出前一天的時間格式是2006-5-10 22:21:21
   echo date("Y-m-d H:i:s ", strtotime("-1 天"));
9.echo $var = $value;//$value
10.echo 0 == " a"; // 1
11. ($tmp = 0) == "a" ? 1: 2; 
##      echo $tmp; // 0
12.  $tmp = (0 == "a") ? 2: 3; 
       echo $tmp; // 2
13.  $tmp = 0 == "a" ? 2: 3; 
       echo $tmp; // 2
#14.  $b = '1d9' ;   
       echo $b;  // 1e0##       $a='1d9';  $a = $a 1;    $a='1d9';  $a = $a 1;    $a='1d9';  $a = $a 1;   echo $a; '只取字元前的數字=>'1'再參與運算:1 1=2.
#15.  $array = new ArrayObject(); 
# if(empty($array))
      {  echo '0';
      var_dump($array); //object(ArrayObject)#1 (1) { ["storage":"ArrayObject":private]=> array(0) { } }
#      答案為1。
16.$a = "hello";   $b = &$a;   unset($b);  $b = "world";  變數a的值為("hello")
     $a = "hello";   $b = &$a;   unset($b); @var_dump($a,$b);// string(5) "hello" NULL
     b指向了a的記憶體空間,但是刪除b時a並不會被刪除。
17. 一群猴子排成一圈,按1,2,…,n依序編號。然後從第1只開始數,數到第m只,把它踢出圈,從它後面再開始數,再數到第m只,在把它踢出去…,如此不停的進行下去,直到最後只剩下一隻猴子為止,那隻猴子就叫做大王。請程式模擬此過程,輸入m、n, 輸出最後那個大王的編號。提示:約瑟夫環問題
#

 function yuesefu($n,$m) { 
     $r=0; 
     for($i=2; $i<=$n; $i++) 
     { 
        $r=($r+$m)%$i; 
     }
      return $r+1; 
   } 
   echo(yuesefu(5,3));


18.echo count("abc"); // 1 --計算陣列中的單元數或物件中的屬性個數.
#19.如何實現字串翻轉?
    echo strrev("string");//gnirts
20.語句include和require的差別是什麼?
     require () :如果檔案不存在,會報出一個fatal error.腳本停止執行;include() : 如果檔案不存在,會給予一個warning,但腳本會繼續執行.
##21 .if ($a = 100 && $b = 200) {
         var_dump($a, $b);     // true, 200
   #22. $arr = ['1', '2'];
    foreach($arr as $k => $v){
#      if($k == 0){
        $adm = '3333';
#      } elseif($k == 1){
#      } elseif($k == 1){
        $adm[] = 'baidu';
      }##    }
    封包語法錯誤。 Fatal error: [] operator not supported for strings
23.關於以下程式碼,說法正確的是:

<?php
   class Test{
      public function __get($str){
        echo &#39;access__get::&#39;.$str.&#39;-->&#39;;
        return [&#39;fd&#39;=>&#39;hy&#39;];
      }
   }
  $b = new Test();
  //var_dump($b->member);打印出[&#39;fd&#39;=>&#39;hy&#39;];
  var_dump(empty($b->member));//打印出什么????
   ==》true

24.

$bA = true;  $bB = false;
$b1 = $bA and $bB;  $b2 = $bA && $bB;
var_dump($b1);  //true
var_dump($b2);  //false
var_dump($bA and $bB);//false
var_dump($bA && $bB); //false
var_dump($b1);=》由於「=」比「and」優先權高,因此一開始先執行賦值操作,再執行and操作,但結果並沒儲存。
25.關於js中的Math說法正確的是:(a,c,d)
   a.Math.ceil(m)回傳一個大於等於m的值
   b.Math.round(m)回傳一個大於等於m的值,例Math.round(-3.1)回傳-3;
#   c. Math.floor(m)傳回一個小於等於m的值
   d.Math.floor(-2.9);回傳-3
26.PHP中的錯誤類型都有哪些?
PHP中遇到的錯誤型別大致有3個類別。
提示:這都是一些非常正常的訊息,而不是重大的錯誤,有些甚至不會展示給使用者。例如存取不存在的變數。
警告:這是有點嚴重的錯誤,會把警告訊息展示給用戶,但不會影響程式碼的輸出,例如包含一些不存在的檔案。
錯誤:這是真正的嚴重錯誤,例如存取不存在的PHP類別。
27.下列函數中哪些是錯誤的:c
   a.getimagesize()
   b.imagesx()
   c.file_get_content()
   d.imagesy()
28.a177e3d92db8414cc9a7c39e8eedf3a1alert( '1');2cacc6d41bbb37262a98f745aa00fbf0輸出啥[假設1.js檔案存在]  (b)
   a.無輸出,但會alert一下
b.無輸出,不會alert
  若把alert 語句寫在1.js 檔案裡則會alert 一下。
29.函數與方法是相同的,只是說法不同(b)
   a.對,函數與方法是相同的,叫法不同
   b.不一樣,而且不一個概念
30.echo 0 == '';此句將會印出? (a)
   a.1   b.0
31.

$str = >>>EOD
I saw a dog yesterday.
EOD;
echo $str;
以上會輸出: (c)
a.I saw a dog yesterday
b.輸出空字串
c.語法錯誤,不會有echo結果
32.下面哪個函數可以打開一個文件,以對文件進行讀取和寫入操作? (c)
a.fget()
b.file_open()
c.fopen()
d.open_file()
33.php是一種編譯型語言(x) ,PHP是解釋型語言(√)
34.var_dump(strpos('mrwagon',626));  //int(1)
這個strpos的第二個參數needle不是字串啊!是字串一眼看上去就會是false。但是是數字就要轉換成對應的ascii碼字元來處理。 ASCII碼可轉換的範圍是0~255.626/256=2…114,114對應的字元是r,所以結果是1.
35.$arr = array('a','b','c');
     foreach($arr as $k => $v) {
        echo key($arr), "=>", current($arr),' ';//1=>b 1 =>b 1=>b
     }  
36.自然排序使用哪一個函數:natsort().
37._()是哪個函數的簡寫: gettext().
38.在 ThinkPHP3中,目錄結構如下:
Application
-----User
-----User---Action----->UserAction.php
---- -User---Module---->UserModule.php
-----Api
-----Api---Action------>ApiAction.php
-----Api---Module----->ApiModule.php
在User的Action下,要怎麼呼叫Api/Module裡面的東西呀?
ApiModule.php裡面有一個方法:getUserNameByUID,我在UserAction.php裡怎麼呼叫 ApiModule.php裡的getUserNameByUID方法? ? ?
  D('Api/Api')->getUserNameByUID();
39.
$arr = ['hello', 'world'];
while ($word = each($ arr)){
        $x = $arr;
}
#此時$x的值(死循環了)。 (看不懂!!!)
40.取得URL中http://hdwo.net/?a b=1的變數a b,以下正確的方法 
   $_GET['a_b']
41 .取得URL中http://hdwo.net/?a.b=1的變數a.b,以下正確的方法
   $_GET['a_b']

#相關建議:

phpecho函數介紹與使用方法詳解

PHP 5 echo 與print 語句的相關知識與運用


#php實作關於var_dump和echo輸出多變數的測試



#

以上是echo,print()和print_r()三者有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn