May 18:PHP 輸出語句

通過前面的學習了解了php的基本語法,今天向大家簡單介紹php的幾種輸出方式:

1.? ?echo 常用的輸出語句,例如:echo 'helloworld!';

2.? ?print() 輸出語句,有返回值。例如:print('helloworld!'); 輸出成功返回1,失敗返回0。

3.? ?printf(); 格式化輸出字符串。例如:printf("%d,%f",12,12.3);

4.? ?print_r(); 輸出數組、對象等復合數據類型。例如:print_r($array);

5.? var_dump(); 可以判斷一個變量的類型與長度,并輸出變量的數值。例如:var_dump('helloworld!');

6.??sprintf?函數也用做字符串格式化。例如: $formatted = sprintf ( "%01.2f ", '123.1' ) ;??

為方便我們的記憶,先對這幾種不同的輸出方式做個對比。

  • echo ? - 可以輸出一個或多個字符串
  • print ? - 只能輸出簡單類型變量的值,如int,string
  • print_r?- 可以輸出復雜類型變量的值,如數組,對象
  • printf -函數用于格式化輸出字符串,主要用于字符串中以%開頭的格式字符串替換。
  • sprintf -函數也用做字符串格式化。該函數與 printf 函數基本相同, 但它可以將轉換后的結果保存到一個字符串變量中,而不是直接輸出。(因為跟printf類似,下面就不做詳細演示了)
  • var_dump -打印變量的相關信息,包括表達式的類型與值,通過縮進顯示其結構。

提示:echo輸出的速度比print快,echo是PHP語句,沒有返回值,print和print_r是PHP函數,函數有返回值。

print返回值為1(int類型),print_r返回值為true(bool類型)。

echo

  echo 是一個語言結構,使用的時候可以不用加括號,也可以加上括號: echo 或 echo()。

  顯示字符串

  下面的實例演示了如何使用 echo 命令輸出字符串(字符串可以包含 HTML 標簽):

<?php
echo "<h2>PHP is fun!</h2>";
echo "Hello world!<br>";
echo "I'm about to learn PHP!<br>";
echo "This", " string", " was", " made", " with multiple parameters.";
?>

  上面echo輸出結果:

PHP is fun!Hello world!
I'm about to learn PHP!
This string was made with multiple parameters.

  


  顯示變量

  下面的實例演示了如何使用 echo 命令輸出變量和字符串:

<?php
$txt1="Learn PHP";
$txt2="w3cschool.cn";
$cars=array("Volvo","BMW","Toyota");echo $txt1;
echo "<br>";
echo "Study PHP at $txt2"; //這里外面用的是雙引號,在php里,雙引號是可以解析變量的
echo "My car is a {$cars[0]}";
?>

  結果:

Learn PHP
Study PHP at w3cschool.cn
My car is a Volvo

  

?print 語句

  print 同樣是一個語言結構,可以使用括號,也可以不使用括號: print 或 print()。

  顯示字符串

  下面的實例演示了如何使用 print 命令輸出字符串(字符串可以包含 HTML 標簽):

<?php
print "<h2>PHP is fun!</h2>";
print "Hello world!<br>";
print "I'm about to learn PHP!";
?>

  上面運行的結果:

PHP is fun!Hello world!
I'm about to learn PHP!


  顯示變量

  下面的實例演示了如何使用 print 命令輸出變量和字符串:

<?php
$txt1="Learn PHP";
$txt2="w3cschool.cn";
$cars=array("Volvo","BMW","Toyota");print $txt1;
print "<br>";
print "Study PHP at $txt2";
print "My car is a {$cars[0]}";
?>

  運行結果:

Learn PHP
Study PHP at w3cschool.cn
My car is a Volvo

  

print_r 語句

  print_r?顯示關于一個變量的易于理解的信息,如果給出的是?stringinteger?或?float,將打印變量值本身。

  如果給出的是?array,將會按照一定格式顯示鍵和元素。object與數組類似。

  使用時必須加上括號:print_r()。

  小提示:print_r()會將把數組的指針移到最后邊。使用?reset()?可讓指針回到開始處。

  顯示字符串

  下面的實例演示了如何使用 print_r 命令輸出字符串(字符串可以包含 HTML 標簽):

<?php
print_r("Hello World!");
print_r("Goodbye World!");
?>

  運行結果:

Hello World! Goodbye World

  

  顯示變量

  下面的實例演示了如何使用 print_r 命令輸出變量和字符串:

<?php
$txt1="Hello World!";
$cars=array("Volvo","BMW","Toyota");print_r($txt1);
print_r($cars);
?>

  運行結果:

Hello World!Array ( [0] => Volvo [1] => BMW [2] => Toyota ) <!-- 后面array是打印的$cars數組 -->

  

printf

  printf() 函數輸出格式化的字符串。

  arg1arg2arg++?參數將被插入到主字符串中的百分號(%)符號處。該函數是逐步執行的。在第一個 % 符號處,插入?arg1,在第二個 % 符號處,插入?arg2,依此類推。

  注釋:如果 % 符號多于?arg?參數,則您必須使用占位符。占位符被插入到 % 符號之后,由數字和 "$" 組成。

  語法:

參數描述
format

必需。規定字符串以及如何格式化其中的變量。

可能的格式值:

  • %% - 返回一個百分號 %
  • %b - 二進制數
  • %c - ASCII 值對應的字符
  • %d - 包含正負號的十進制數(負數、0、正數)
  • %e - 使用小寫的科學計數法(例如 1.2e+2)
  • %E - 使用大寫的科學計數法(例如 1.2E+2)
  • %u - 不包含正負號的十進制數(大于等于 0)
  • %f - 浮點數(本地設置)
  • %F - 浮點數(非本地設置)
  • %g - 較短的 %e 和 %f
  • %G - 較短的 %E 和 %f
  • %o - 八進制數
  • %s - 字符串
  • %x - 十六進制數(小寫字母)
  • %X - 十六進制數(大寫字母)

附加的格式值。必需放置在 % 和字母之間(例如 %.2f):

  • + (在數字前面加上 + 或 - 來定義數字的正負性。默認地,只有負數做標記,正數不做標記)
  • ' (規定使用什么作為填充,默認是空格。它必須與寬度指定器一起使用。)
  • - (左調整變量值)
  • [0-9] (規定變量值的最小寬度)
  • .[0-9] (規定小數位數或最大字符串長度)

注釋:如果使用多個上述的格式值,它們必須按照上面的順序進行使用,不能打亂。

arg1必需。規定插到?format?字符串中第一個 % 符號處的參數。
arg2必需。規定插到?format?字符串中第二個 % 符號處的參數。
arg++可選。規定插到?format?字符串中第三、四等等 % 符號處的參數。
  提示:相關函數:sprintf()、 vprintf()、 vsprintf()、 fprintf() 和 vfprintf()
<?php
$number = 9;
$str = "北京";
printf("在%s有 %u 百萬輛自行車。",$str,$number);
?>

  運行結果:

在北京有 9 百萬輛自行車。

  使用格式值 %f:

<?php
$number = 123;
printf("%f",$number);
?>

  結果:

123.000000  這里默認省略到小數點后六位

  使用占位符:

<?php
$number = 123;
printf("有兩位小數:%1\$.2f<br>沒有小數:%1\$u",$number);
?>

  結果:

有兩位小數:123.00
沒有小數:123

  所有可能的格式值的演示:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII 字符 50 是 2// 注釋:格式值 "%%" 返回百分號
printf("%%b = %b <br>",$num1); // 二進制數
printf("%%c = %c <br>",$char); // ASCII 字符
printf("%%d = %d <br>",$num1); // 帶符號的十進制數
printf("%%d = %d <br>",$num2); // 帶符號的十進制數
printf("%%e = %e <br>",$num1); // 科學計數法(小寫)
printf("%%E = %E <br>",$num1); // 科學計數法(大寫)
printf("%%u = %u <br>",$num1); // 不帶符號的十進制數(正)
printf("%%u = %u <br>",$num2); // 不帶符號的十進制數(負)
printf("%%f = %f <br>",$num1); // 浮點數(視本地設置)
printf("%%F = %F <br>",$num1); // 浮點數(不視本地設置)
printf("%%g = %g <br>",$num1); // 短于 %e 和 %f
printf("%%G = %G <br>",$num1); // 短于 %E 和 %f
printf("%%o = %o <br>",$num1); // 八進制數
printf("%%s = %s <br>",$num1); // 字符串
printf("%%x = %x <br>",$num1); // 十六進制數(小寫)
printf("%%X = %X <br>",$num1); // 十六進制數(大寫)
printf("%%+d = %+d <br>",$num1); // 符號說明符(正)
printf("%%+d = %+d <br>",$num2); // 符號說明符(負)
?>

  運行結果:

%b = 111010110111100110100010101 
%c = 2 
%d = 123456789 
%d = -123456789 
%e = 1.234568e+8 
%E = 1.234568E+8 
%u = 123456789 
%u = 4171510507 
%f = 123456789.000000 
%F = 123456789.000000 
%g = 1.23457e+8 
%G = 1.23457E+8 
%o = 726746425 
%s = 123456789 
%x = 75bcd15 
%X = 75BCD15 
%+d = +123456789 
%+d = -123456789 

  字符串說明符的演示:

<?php
$str1 = "Hello";
$str2 = "Hello world!";printf("[%s]<br>",$str1);
printf("[%8s]<br>",$str1);
printf("[%-8s]<br>",$str1);
printf("[%08s]<br>",$str1);
printf("[%'*8s]<br>",$str1);
printf("[%8.8s]<br>",$str2);
?>

  運行結果:

[Hello]
[ Hello]
[Hello ]
[000Hello]
[***Hello]
[Hello wo]

var_dump

?  —?打印變量的相關信息,此函數顯示關于一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>

  運行結果:

array(3) {[0]=>int(1) 前面是類型[1]=>int(2)[2]=>array(3) {[0]=>string(1) "a"[1]=>string(1) "b"[2]=>string(1) "c"}
} 

  再來一個例子,

<?php$b = 3.1;
$c = true;
var_dump($b, $c);?>

  運行結果:

float(3.1)
bool(true)

?

?

?

轉載于:https://www.cnblogs.com/willian911/p/php_shuchuyuju.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452728.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452728.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452728.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SendMessage、PostMessage原理和源代碼詳解

本文講解SendMessage、PostMessage兩個函數的實現原理&#xff0c;分為三個步驟進行講解&#xff0c;分別適合初級、中級、高級程序員進行理解&#xff0c;三個步驟分別為&#xff1a; 1、SendMessage、PostMessage的運行機制。 2、SendMessage、PostMessage的運行內幕。 3、…

Python協程--實現斐波那契數列(Fibonacci)的幾種方式

1.使用for遍歷list數組 # 使用for遍歷list數組 nums list() a 0 b 1 i 0while i < 10:nums.append(a)a, b b, abi 1for num in nums:print(num)2.使用迭代器完成 class Fibonacci(object):def __init__(self, all_num):self.all_num all_numself.current_num 0sel…

敏捷開發宣言

敏捷開發宣言&#xff1a; 1. 個體和交互勝過過程和工具 2. 可工作的軟件勝過面面俱到的文檔 3. 客戶協作勝過合同談判 4. 響應變化勝過遵循計劃 從上面的宣言可以看出&#xff0c;敏捷開發的核心是人 、協作、時刻可運行的軟件、變化。

java fast math,Java FastMath.signum方法代碼示例

import org.apache.commons.math3.util.FastMath; //導入方法依賴的package包/類/*** {inheritDoc}*/Overrideprotected double doSolve()throws TooManyEvaluationsException,NoBracketingException {double min getMin();double max getMax();// [x1, x2] is the bracketin…

什么是可行性研究

1.并非任何問題都有簡單明顯的解決辦法&#xff0c;事實上&#xff0c;許多問題不可能在預定的系統規模或時間期限之內解決。2.如果問題沒有可行的解&#xff0c;那么花費在這項工程上的任何時間、人力、軟硬件資源和經費&#xff0c;都是無謂的浪費。3.可行性研究的目的&#…

FTP服務的簡介和配置詳解

FTP服務的簡介和配置詳解注意&#xff1a;配置FTP服務時&#xff0c;最好關閉防火墻和selinux1、FTP服務簡介FTP 是File Transfer Protocol&#xff08;文件傳輸協議&#xff09;的英文簡稱&#xff0c;而中文簡稱為“文件傳輸協議”。用于Internet上的控制文件的雙向傳輸。同時…

Python協程--生成器(通過異常來判斷生成器已經結束)

以實現斐波那契數列為例&#xff1a; def create_num(all_num):a, b 0, 1current_num 0while current_num < all_num:yield a # 如果一個函數中有yield語句&#xff0c;那么這個就不在是函數&#xff0c;而是一個生成器的模板a, b b, abcurrent_num 1return "ok.…

四種類型轉換 cast

1.static_cast 2.dynamic_cast 3.const_cast 4. reinterpret_cast 例子1&#xff1a; float x; cout<<static_cast<int>(x); ... f(static_cast<string>("hello")); 例子2&#xff1a; class Car; class Cabriolet:pbulic Car { …

java獲取不重復訂單號,Java 生成永不重復的訂單號

package com.taiping.test;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;public class Test12 {/*** 生成永不重復的訂單號* param startLetter 訂單號開頭字符串* param size 訂單號中隨機的大寫字母個數* return*/public static String…

CSS中position屬性(abusolute | relative | static | fixed)區別

關于css3中position屬性的定義&#xff1a; 轉載于:https://www.cnblogs.com/tangjiao/p/9025934.html

什么是系統流程圖

系統流程圖是概括地描繪物理系統的傳統工具。它的基本思想是用圖形符號以黑盒子的形式描繪組成系統的每個部件&#xff08;程序&#xff0c;文檔&#xff0c;數據庫&#xff0c;人工過程等&#xff09;。系統流程圖表達的是數據在系統各部件之間流動的情況&#xff0c;而不是對…

Python協程--生成器(實現多任務)

0.生成器 1.使用yield完成多任務 import timedef task_1():while True:print("---1----")time.sleep(0.1)yielddef task_2():while True:print("---2----")time.sleep(0.1)yielddef main():t1 task_1()t2 task_2()# 先讓t1運行一會&#xff0c;當t1中遇…

技術分享連載(六十一)

資源管理 Q1&#xff1a;Unity5.4.1中&#xff0c;我將需要的Shader打到一個AssetBundle包中&#xff08;包含一個關聯了所有Shader的Shader Variants&#xff09;&#xff0c;分別用Shader.WarmupAllShaders和ShaderVariantCollection.WarmUp兩種方式進行預加載&#xff0c;后…

RabbitMQ(三) 集群配置

RabbitMQ——集群配置 之前不管是搞Redis、SQL、Mongo還是其他的東西&#xff0c;一律都沒說過集群要怎么搞&#xff0c;電腦實在是帶不動、說透徹點就是懶&#xff0c;懶得搭也懶得寫&#xff0c;今日深刻意識到錯誤&#xff0c;做學問是不能懶的&#xff0c;會被人噴的&#…

mysql update實質,UPDATE注射(mysql+php)的兩個模式

UPDATE注射(mysqlphp)的兩個模式2021-01-23 7:48:35424UPDATE注射(mysqlphp)的兩個模式文/安全天使SuperHei2005.8.11一.測試環境&#xff1a;OS:Windowsxpsp2php:php4.3.10(mysql4.1.9apache1.3.33二.測試數據庫結構&#xff1a;-----start-----數據庫:test------------------…

數據庫系統的特點

數據結構化數據的共享性高&#xff0c;冗余度低且易擴充數據獨立性高數據由數據庫管理系統統一管理和控制

SNF軟件開發機器人-子系統-導出-導入功能-多人合作時這個功能經常用到

導出 導出可以將資源表和子系統導出并形成一個json文件。 1.效果展示&#xff1a; 2.使用說明&#xff1a; 點擊導出按鈕后會彈出一個導出頁面。頁面的左側可以選擇功能&#xff0c;右側可以選擇資源表&#xff0c;選擇功能的同時右側中功能所需的資源表也會被選擇。當功能之間…

基于物理的渲染-用真實的環境光照亮物體

目前&#xff0c;在游戲引擎中用于照亮物體的光源非常豐富。其中&#xff0c;比較常用的有&#xff1a;平行方向光、點光源、聚光燈以及體積光等&#xff0c;但它們都是對真實光源的近似&#xff0c;并不能很好地模擬真實世界中的復雜光照情況。為了增加光照效果的真實感&#…

php中取出數組中指定的值,PHP除開數組中指定的值

PHP去除數組中指定的值//一維數組簡單的做法 unset($arr[array_search($value,$arr)])$arr array("a","b","c","d");function isHave($var){if($var!"b")return true;}$arr_filter array_values(array_filter($arr,"…

實體以及實體型和實體集

實體&#xff08;Entity&#xff09; 客觀存在并可相互區別的事物稱為實體。 可以是具體的人、事、物或抽象的概念。 屬性&#xff08;Attribute&#xff09; 實體所具有的某一特性稱為屬性。 一個實體可以由若干個屬性來刻畫。 實體型&#xff08;Entity Type&#xf…