這是一個超級簡單的數組打印,但是當我使用print_r的時候我得到了最後的結果。爲什麼我的印刷陣列末尾有1個?
<?php
$user_names = array(1, 2, 3, 4);
$results = print_r($user_names);
echo $results;
?>
然後我得到:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
1
這是一個超級簡單的數組打印,但是當我使用print_r的時候我得到了最後的結果。爲什麼我的印刷陣列末尾有1個?
<?php
$user_names = array(1, 2, 3, 4);
$results = print_r($user_names);
echo $results;
?>
然後我得到:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
1
print_r
已經打印陣列 - 沒有必要echo
其返回值(這是true
,因此將最終成爲1
時轉換爲字符串):
當返回參數爲TRUE,這個函數將返回一個字符串。否則,返回值爲TRUE。
下將做工精細,太:
$results = print_r($user_names, true);
echo $results;
這是沒有意義的,雖然除非你不總是顯示的結果讓他們之後。
你得到它,因爲
echo $results;
由於$結果包含print_r函數的結果是TRUE(1)
print_r可以返回字符串而不是回顯它。要做到這一點,你必須通過第二個參數 - 真:
$results = print_r($user_names, true);
所以,你有兩個選擇。刪除echo $結果或保留它,但將第二個參數傳遞給print_r。
print_r
打印出結果在屏幕上,如果你需要返回一個字符串,而不是印刷,你應該通過第二個參數的函數:
<?php
$user_names = array(1, 2, 3, 4);
$results = print_r($user_names, true);
echo $results;
print_r
實際打印結果,如果你想它返回結果,使用print_r($user_name, true)'
所以這些都會做你想做的。
<?php
$user_names = array(1, 2, 3, 4);
print_r($user_names);
?>
或
<?php
$user_names = array(1, 2, 3, 4);
$results = print_r($user_names,true);
echo $results;
?>
既然你給print_r
沒有第二個參數,它會做印刷本身並返回1.然後保存這一個,並打印出來。嘗試:
$results = print_r($user_names, true);
退房的文檔爲print_r:
如果你想捕捉的
print_r()
輸出,使用返回參數。當此參數設置爲TRUE時,print_r()將返回信息而不是打印它。
print_r有第二個參數,叫做'return'。如果你正在迴應print_r – user1909426