[英]Printing Array without any loop or recursion
有沒有一種方法可以在沒有任何循環或遞歸的情況下在php中打印數組?
您可以嘗試print_r($ array); 或var_dump($ array); 顯示有關數組的鍵/值信息。 這主要用於調試。
或者,如果要向用戶顯示數組,則可以使用implode將元素與自定義“ glue”, implode('',$ array);粘貼在一起。 。
print_r
是您要尋找的功能。
取決於您想要什么。
print_r()打印有關變量的人類可讀信息,但是var_dump()顯示有關表達式的結構化信息,包括其類型和值。
這取決於您想要的結果。 您可以將幾個功能用於不同的目的。
這里有些例子:
您可以將print_r用於調試輸出。
<?php
$a = array ('a' => 'Apfel', 'b' => 'Banane', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
...將產生
Array
(
[a] => Apfel
[b] => Banane
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)
如果您需要某些特定格式的結果/輸出,可以使用array_walk
<?php
$fruits = array("d" => "Zitrone", "a" => "Orange", "b" => "Banane", "c" => "Apfel");
function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
echo "$key. $item2<br>\n";
}
array_walk($fruits, 'test_print');
array_walk($fruits, 'test_alter', 'Frucht');
array_walk($fruits, 'test_print');
?>
...將產生
d. Zitrone
a. Orange
b. Banane
c. Apfel
d. Frucht: Zitrone
a. Frucht: Orange
b. Frucht: Banane
c. Frucht: Apfel
更為通用的方法可能是iterator_apply
<?php
function print_caps(Iterator $iterator) {
echo strtoupper($iterator->current()) . "\n";
return TRUE;
}
$it = new ArrayIterator(array("Apples", "Bananas", "Cherries"));
iterator_apply($it, "print_caps", array($it));
?>
...將產生
APPLES
BANANAS
CHERRIES
但是最后,它們當然都是內部遍歷數組。 還有許多其他函數(例如array_map )可能是您進行編碼的正確選擇...查看php文檔並搜索數組函數 。
function num($a,$b){
if($b<0)
{
return false;
}
else
{
echo $a * $b;
num($a,--$b);
}
}
$a=1;
$b=5;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.