2009-03-28 20 views
22

से सब कुछ यह गूंज या सरणी के भाग को निर्दिष्ट करना जो बिना एक सरणी की सारी सामग्री को मुद्रित करने के लिए संभव है?आउटपुट (गूंज/प्रिंट) एक PHP सरणी

परिदृश्य: "आईडी" निर्दिष्ट करने और इसके बजाय सरणी की पूरी सामग्री outputting के बिना

while($row = mysql_fetch_array($result)){ 
echo $row['id']; 
} 

: मैं से सब कुछ प्रतिध्वनित करने के लिए कोशिश कर रहा हूँ।

उत्तर

34

आप अपने दम पर उत्पादन फ़ॉर्मेट करने के लिए, बस एक पाश जोड़ने चाहते हैं (foreach) वर्तमान पंक्ति की सामग्री के माध्यम से पुनरावृति करने के लिए:

while ($row = mysql_fetch_array($result)) { 
    foreach ($row as $columnName => $columnData) { 
     echo 'Column name: ' . $columnName . ' Column data: ' . $columnData . '<br />'; 
    } 
} 

या यदि आप स्वरूपण के बारे में परवाह नहीं है, print_r समारोह पिछले जवाब में सिफारिश का उपयोग करें।

while ($row = mysql_fetch_array($result)) { 
    echo '<pre>'; 
    print_r ($row); 
    echo '</pre>'; 
} 

print_r() प्रिंट केवल कुंजी और सरणी के मूल्यों, var_dump करने का विरोध किया() whichs भी सरणी में डेटा है, यानी स्ट्रिंग, पूर्णांक, डबल के प्रकार प्रिंट, और इतने पर। यदि आप डेटा प्रकारों की परवाह करते हैं - print_r() पर var_dump() का उपयोग करें।

6

var_dump() ऐसा कर सकते हैं।

यह फ़ंक्शन एक या अधिक अभिव्यक्तियों के बारे में संरचित जानकारी प्रदर्शित करता है जिसमें इसके प्रकार और मान शामिल हैं। संरचनाओं को दिखाने के लिए इंडेंट किए गए मूल्यों के साथ सरणी और वस्तुओं को फिर से खोजा जाता है।

http://php.net/manual/en/function.var-dump.php

4

मुझे लगता है कि आप print_r जो पाठ के रूप में सरणी प्रिंट आउट के लिए देख रहे हैं। हालांकि आप प्रारूपण को नियंत्रित नहीं कर सकते हैं, यह डीबगिंग के लिए अधिक है। यदि आप ठंडा स्वरूपण चाहते हैं तो आपको इसे मैन्युअल रूप से करने की आवश्यकता होगी।

3

आप print_r का उपयोग मानव पठनीय उत्पादन प्राप्त करने के लिए कर सकते हैं।

http://www.php.net/print_r

17

देखें अच्छा & पठनीय परिणामों के लिए, इस का उपयोग करें:

function printVar($var) { 
    echo '<pre>'; 
    var_dump($var); 
    echo '</pre>'; 
} 

ऊपर समारोह, मूल स्वरूपण सुरक्षित करेगा यह (अधिक) एक वेब ब्राउज़र में पठनीय बना रही है।

+1

क्या आपको उस प्रिंटवायर या डीबगवर को कॉल नहीं करना चाहिए? इसे क्यों पढ़ा जाता है? – jmucchiello

+0

अच्छा बिंदु, इसे फ्लाई पर नामित किया गया। शायद प्रिंटवर होना चाहिए। डाउन-वोट के लिए धन्यवाद। – karim79

1

करीम की ही तरह, लेकिन print_r जो एक बहुत छोटा सा आउटपुट है और मुझे लगता है के साथ आमतौर पर आप सभी की जरूरत है:

function PrintR($var) { 
    echo '<pre>'; 
    print_r($var); 
    echo '</pre>'; 
} 
2

यह एक छोटे से समारोह मैं हर समय अपने काम का उपयोग करता है, तो आप सरणियों डीबग कर रहे हैं है। डेरील और करीम ने पोस्ट किया यह वही बात है। मैंने अभी एक पैरामीटर शीर्षक जोड़ा है, इसलिए आपके पास कुछ डीबग जानकारी है क्योंकि आप किस सरणी को प्रिंट कर रहे हैं। यह भी जाँच करता है अगर आप इसे एक वैध सरणी के साथ आपूर्ति की है और आप जानते हैं यदि आप नहीं था सुविधा देता है।

function print_array($title,$array){ 

     if(is_array($array)){ 

      echo $title."<br/>". 
      "||---------------------------------||<br/>". 
      "<pre>"; 
      print_r($array); 
      echo "</pre>". 
      "END ".$title."<br/>". 
      "||---------------------------------||<br/>"; 

     }else{ 
      echo $title." is not an array."; 
     } 
} 

बेसिक उपयोग:

//your array 
$array = array('cat','dog','bird','mouse','fish','gerbil'); 
//usage 
print_array("PETS", $array); 

परिणाम:

PETS 
||---------------------------------|| 

Array 
(
    [0] => cat 
    [1] => dog 
    [2] => bird 
    [3] => mouse 
    [4] => fish 
    [5] => gerbil 
) 

END PETS 
||---------------------------------|| 
0

आप print_r उपयोग कर सकते हैं मानव पठनीय उत्पादन प्राप्त करने के लिए। लेकिन इसे टेक्स्ट के रूप में प्रदर्शित करने के लिए हम "echo" जोड़ते हैं; "

गूंज '; print_r ($ पंक्ति);

0
//@parram $data-array,$d-if true then die by default it is false 
//@author Your name 

function p($data,$d = false){ 

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

    if($d == TRUE){ 
     die(); 
    } 
} // END OF FUNCTION 

हर बार जब आप स्ट्रिंग या सरणी की आवश्यकता होती है तो इस फ़ंक्शन का उपयोग करें, यह केवल ग्रेट होगा।
2 Patameters हैं
1. $ डेटा - यह सरणी या स्ट्रिंग हो सकता है
2. $ d - द्वारा डिफ़ॉल्ट यह गलत है, लेकिन यदि आप सही पर सेट किया तो यह निष्पादित करेंगे मरने() फ़ंक्शन

आपके मामले में आप इस तरह से उपयोग कर सकते हैं ....

while($row = mysql_fetch_array($result)){ 
    p($row); // Use this function if you use above function in your page. 
} 
संबंधित मुद्दे