PHP में एरे को कैसे इको या प्रिंट करें?


198

मेरे पास यह एरे है

Array
(
  [data] => Array
    (
      [0] => Array
        (
          [page_id] => 204725966262837
          [type] => WEBSITE
        )

      [1] => Array
        (
          [page_id] => 163703342377960
          [type] => COMMUNITY
        )
      )
)

मेरा सवाल यह है कि मैं इस संरचना के बिना सामग्री को कैसे प्रतिध्वनित कर सकता हूं? मैंने कोशिश की

foreach ($results as $result) {
    echo $result->type; 
    echo "<br>";
} 

जवाबों:


125

इससे चल जाएगा

foreach($results['data'] as $result) {
    echo $result['type'], '<br>';
}

इसके लिए शुक्रिया। क्या आप मुझे बता सकते हैं कि मैं केवल एरे [1] के उदाहरण के लिए कैसे प्रतिध्वनित कर सकता हूं?
एन्टेकोनोमा

7
@ कौआकोसecho $results['data'][1]['type'];
शिप्पू मोकाडिम

क्या होगा अगर मेरे पास कोई चाबी नहीं है data?
प्रतीक बुटानी

467

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

1) print_r($array); या यदि आप अच्छी तरह से स्वरूपित सरणी चाहते हैं:

echo '<pre>'; print_r($array); echo '</pre>';

2)var_dump($array) व्यूह और लंबाई जैसे सरणी में सामग्री की अधिक जानकारी प्राप्त करने के लिए उपयोग करें।

3) आप php का उपयोग करके सरणी को लूप कर सकते हैं foreach();और वांछित आउटपुट प्राप्त कर सकते हैं। php की प्रलेखन वेबसाइट में foreach के बारे में अधिक जानकारी:
http://in3.php.net/manual/en/control-structures.foreach.php


2
अच्छा और सुरुचिपूर्ण। आप क्लोजिंग टैग को # 1 में <pre /> से </ pre> में बदलना चाह सकते हैं।
माइकल

1
यह उत्तर उस गलती को संबोधित नहीं करता है जो ओपी ने की थी।
शिप्लू मोकादिम

2
क्या आप बता सकते हैं कि <pre> </ pre> निर्माण इस प्रदर्शन को "अच्छी तरह से कैसे करता है?"
रॉबिन एंड्रयूज

1
@ रॉबिन <प्री> टैग नई लाइनों और सारणीकरण को प्रदर्शित करता है क्योंकि यह प्रिंट_आर () द्वारा आउटपुट है; बिना <pre> आपको डेटा का एक गन्दा अपरंपरागत सीमा दिखाई देगा। यह स्वरूपित देखने के लिए आपको तब html पृष्ठ स्रोत देखना चाहिए।
जेसी

96

यदि आप केवल प्रारूप के बिना सामग्री जानना चाहते हैं (उदाहरण के लिए डीबगिंग उद्देश्य के लिए) तो मैं इसका उपयोग करता हूं:

echo json_encode($anArray);

यह इसे JSON के रूप में दिखाएगा जो कि काफी मानवीय पठनीय है।


मैं html - phpकॉर्डोवा InAppBrowser executeScriptपद्धति का उपयोग करते हुए एक दस्तावेज़ से कुछ डेटा निकालना चाहता था , बिना json_encode($array)मैं यह हासिल नहीं कर सकता था! बहुत बहुत धन्यवाद @
मर्क

31

सरणी सामग्री को मुद्रित करने के लिए कई फ़ंक्शन हैं जो प्रत्येक में हैं।

print_r()

एक चर के बारे में मानव-पठनीय जानकारी प्रिंट करता है।

$arr = ["a", "b", "c"];
echo "<pre>";
print_r($arr);
echo "</pre>";
Array
(
    [0] => a
    [1] => b
    [2] => c
)


var_dump()

अभिव्यक्तियों के बारे में संरचित जानकारी प्रदर्शित करता है जिसमें इसका प्रकार और मूल्य शामिल है।

echo "<pre>";
var_dump($arr);
echo "</pre>";
array(3) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
}


var_export()

दिए गए चर के बारे में संरचित जानकारी प्रदर्शित करता है जो प्रतिनिधित्व लौटाता है वैध PHP कोड।

echo "<pre>";
var_export($arr);
echo "</pre>";
array (
  0 => 'a',
  1 => 'b',
  2 => 'c',
)

ध्यान दें कि क्योंकि ब्राउज़र एक ही स्थान पर कई व्हाट्सएप वर्णों (newlines सहित) को संघनित करता है ( उत्तर ) के आपको <pre></pre>सही प्रारूप में परिणाम प्रदर्शित करने के लिए उपरोक्त कार्यों को लपेटने की आवश्यकता होती है ।


इसके अलावा कुछ शर्तों के साथ सरणी सामग्री को मुद्रित करने का एक और तरीका है।

echo

आउटपुट एक या अधिक तार। इसलिए यदि आप सरणी सामग्री का उपयोग करके प्रिंट करना चाहते हैं echo, तो आपको echoसरणी आइटमों को मुद्रित करने के लिए सरणी के माध्यम से लूप और लूप उपयोग करने की आवश्यकता है।

foreach ($arr as $key=>$item){
    echo "$key => $item <br>";
}
0 => a 
1 => b 
2 => c 

24

आप उपयोग कर सकते हैं print_r, var_dumpऔरvar_export php के funcations:

print_r: मानव पठनीय रूप में परिवर्तित

<?php
echo "<pre>";
 print_r($results); 
echo "</pre>";
?>

var_dump(): आपको चीज़ के प्रकार के साथ-साथ उसमें क्या है, यह भी दिखाएगा।

var_dump($results);

foreach loop: प्रत्येक लूप का उपयोग करके आप किसी सरणी के प्रत्येक और प्रत्येक मान को पुन: व्यवस्थित कर सकते हैं।

foreach($results['data'] as $result) {
    echo $result['type'].'<br>';
}

20

क्या आपने print_rइसे मानव-पठनीय रूप में मुद्रित करने के लिए उपयोग करने का प्रयास किया ?


17
foreach($results['data'] as $result) {
    echo $result['type'], '<br />';
}

या echo $results['data'][1]['type'];


इसके लिए शुक्रिया। क्या आप मुझे बता सकते हैं कि मैं केवल एरे [1] के उदाहरण के लिए कैसे प्रतिध्वनित कर सकता हूं?
एन्टेकोनोमा

ऐरे [1] से आपका क्या तात्पर्य है? : ओ
एंड्रियास वोंग

@andreas मैं केवल COMMUNITY या 163703342377960 को प्रतिध्वनित करना चाहता हूं। सरणी की संपूर्ण सामग्री नहीं बल्कि विशेष रूप से
EnexoOnoma

कोशिशecho $results['data'][1]['page_id'];
एंड्रियास वोंग

8

सरणी में डेटा देखने के लिए आपको लूप लगाने की कोई आवश्यकता नहीं है, आप बस निम्नलिखित तरीके से कर सकते हैं

<?php
echo "<pre>";
 print_r($results); 
echo "</pre>";
?>

3

मुझे पता है कि यह एक पुराना प्रश्न है, लेकिन यदि आप एक पारगम्य पीएचपी प्रतिनिधित्व चाहते हैं तो आप इसका उपयोग कर सकते हैं:

$parseablePhpCode = var_export($yourVariable,true);

यदि आप निर्यात किए गए कोड को एक file.php (रिटर्न स्टेटमेंट के साथ) में गूंजते हैं, तो आपको इसकी आवश्यकता हो सकती है

$yourVariable = require('file.php');

0

मैंने हालांकि उत्तर की जाँच की, (प्रत्येक के लिए) PHP में पदावनत किया गया है और अब नवीनतम php संस्करणों के साथ काम नहीं कर रहा है।

आमतौर पर हम किसी सरणी को स्ट्रिंग में बदलकर उसे कहीं लॉग कर सकते हैं, शायद डिबगिंग या टेस्ट आदि।

मैं सरणी को एक स्ट्रिंग में बदलकर करूंगा:

$Output = implode(",", $SourceArray);

जहाँ तक:

$ आउटपुट परिणाम है (जहां स्ट्रिंग उत्पन्न होगा

",": विभाजक है (प्रत्येक सरणी फ़ील्ड के बीच)

$ SourceArray: आपका स्रोत सरणी है।

आशा है कि ये आपकी मदद करेगा


-2

लूप के माध्यम से और एक साहचर्य सरणी के सभी मूल्यों को प्रिंट करें, आप foreachइस तरह एक लूप का उपयोग कर सकते हैं :

foreach($results as $x => $value) {
    echo $value;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.