পিএইচপি var_dump () বনাম মুদ্রণ_আর ()


297

স্ট্রিং হিসাবে একটি অ্যারের থুতু দেওয়ার ক্ষেত্রে var_dump()এবং এর print_r()মধ্যে পার্থক্য কী ?

উত্তর:


355

var_dumpফাংশন প্রদর্শন সম্পর্কে তার সহ ভেরিয়েবল / এক্সপ্রেশন তথ্য কাঠামোবদ্ধ টাইপ এবং মান । স্ট্রাকচার দেখানোর জন্য অ্যারেগুলি ইনডেন্ট করা মানগুলির সাথে পুনরাবৃত্তভাবে অনুসন্ধান করা হয়। এটি কোন অ্যারের মান এবং অবজেক্টের বৈশিষ্ট্যগুলি উল্লেখ রয়েছে তাও দেখায়।

print_r()একটি উপায় যে মানুষের দ্বারা পাঠযোগ্য এর একটি পরিবর্তনশীল সম্পর্কিত তথ্য প্রদর্শন করে। অ্যারে মানগুলি এমন বিন্যাসে উপস্থাপন করা হবে যা কী এবং উপাদানগুলি দেখায় । অনুরূপ স্বরলিপি বস্তুর জন্য ব্যবহৃত হয়।

উদাহরণ:

$obj = (object) array('qualitypoint', 'technologies', 'India');

var_dump($obj) স্ক্রিনে আউটপুট নীচে প্রদর্শিত হবে।

object(stdClass)#1 (3) {
 [0]=> string(12) "qualitypoint"
 [1]=> string(12) "technologies"
 [2]=> string(5) "India"
}

এবং, print_r($obj)স্ক্রিনের নীচে আউটপুট প্রদর্শিত হবে।

stdClass Object ( 
 [0] => qualitypoint
 [1] => technologies
 [2] => India
)

অধিক তথ্য


76
প্রিন্ট_আর (নাল) কিছুই ফেরত আসবে না যেখানে var_dump (নাল) NUL ফেরত দেয় যা ডিবাগ করার সময় দরকারী
রোশ 3000

7
আপনি কি 'var_export' দিয়ে আপনার উত্তরটি প্রসারিত করতে পারেন?
জোরিল

1
Var_dump () এর দুটি সুবিধা হ'ল ডাম্প করা তথ্য স্বয়ংক্রিয়ভাবে একটি প্রাক উপাদানগুলিতে আবদ্ধ। Var_dump () ব্যবহার করার সময় আপনি দেখতে পাবেন যে প্রতিটি ধরণের নিজস্ব রঙ রয়েছে। পঠনযোগ্যতা বৃদ্ধি।
জুলিয়ান

3
@ জুলিয়ান কেবলমাত্র xdebug ইনস্টল থাকলেই
Leif Neland

57

সাধারণত, print_r( ) আউটপুট ভাল, আরও সংক্ষিপ্ত এবং পড়া সহজ, ওরফে আরও মানব-পঠনযোগ্য তবে ডেটা প্রকারগুলি প্রদর্শন করতে পারে না।

সঙ্গে print_r()আপনার কাছে একটি পরিবর্তনশীল মধ্যে আউটপুট সংরক্ষণ করতে পারেন:

$output = print_r($array, true);

যা var_dump()করতে পারে না তবুও var_dump()ডেটা প্রকারগুলি প্রদর্শন করতে পারে।


9
:, var_dump () একটি পরিবর্তনশীল সংরক্ষণ করা যাবে, যদিও কোনো বিট uglier এর stackoverflow.com/questions/139474/...
SgtPooki

7
আপনার যদি সঞ্চয় প্রয়োজন হয় তবে আপনি এটি 'ভাই' ভার_এক্সপোর্টও করতে পারেন
CSᵠ

21

var_dump() জিনিসটির ধরণ এবং এর মধ্যে কী রয়েছে তা আপনাকে প্রদর্শন করবে।

সুতরাং আপনি পাবেন => (string)"var" উদাহরণ এখানে।

print_r() শুধু কন্টেন্ট আউটপুট হবে।

আউটপুট => "var" উদাহরণটি এখানে।


12
আমার মনে হয় এর চেয়ে ভাল উদাহরণটি var_dump(0.0);float(0)print_r(0.0);0
হ'ল

13

যদি আপনি জিজ্ঞাসা করছেন কখন আপনার কী ব্যবহার করা উচিত, আমি সাধারণত print_r()মানগুলি প্রদর্শন করার জন্য এবং var_dump()পরিবর্তনশীল ধরণের সমস্যাগুলির ক্ষেত্রে ব্যবহার করি ।


8

var_dumpঅবজেক্ট / ভেরিয়েবল সম্পর্কে কাঠামোগত তথ্য প্রদর্শন করে। এর মধ্যে প্রকার এবং মান অন্তর্ভুক্ত । ভালো লেগেছে print_rঅ্যারে মাধ্যমে recursed এবং ইন্ডেন্টযুক্ত করছে।

print_rঅ্যারে এবং অবজেক্টের জন্য কী এবং উপাদানগুলির বিন্যাস উপস্থাপনের সাথে মানগুলি সম্পর্কে মানব পাঠযোগ্য তথ্য প্রদর্শন করে।

সর্বাধিক গুরুত্বপূর্ণ বিষয়টি লক্ষ্য করা যায় যা var_dumpআউটপুট টাইপের পাশাপাশি মানগুলির ক্ষেত্রেও print_rহয় না।


5

var_dumpএবং মধ্যে গুরুত্বপূর্ণ পার্থক্যprint_r

উভয় ফাংশনটি ভেরিয়েবল সম্পর্কে তথ্য ডাম্প করে তবে var_dumpএকাধিক পরামিতি যা ফেলে দেওয়া হবে, যেখানে print_rদুটি পরামিতি নিতে পারে যার মধ্যে প্রথম পরামিতিটি আপনি পরিবর্তন করতে চান এবং দ্বিতীয়টি বুলিয়ান মান।

var_dumpকোনো মান এটি শুধুমাত্র ডাম্প / মান যেখানে print_r যেমন পরিবর্তনশীল তথ্য আসতে পারেন যদি আমরা দ্বিতীয় প্যারামিটার সেট মুদ্রণ করতে পারেন আর আসতে পারবেন না print_rকরার সত্য । এর ফিরে মান print_rথাকবে স্ট্রিং বিন্যাস।

মুদ্রিত তথ্যগুলি print_rপাঠযোগ্য বিন্যাসে অনেক বেশি যেখানে var_dumpকাঁচা মান প্রিন্ট করে।

print_rফাংশনটি অনেক প্রসঙ্গে ব্যবহার করা var_dumpযেতে পারে যেখানে ডিবাগিং উদ্দেশ্যে ব্যবহার করা যেতে পারে মূলত যেহেতু এটি মান ফেরত দিতে পারে না।


1
vardumpএক বা একাধিক যুক্তি লাগে এবং প্রত্যেকটি ফেলে দেওয়া হবে।
বিশপ

@ বিশপ, হ্যাঁ আপনি ঠিক বলেছেন এটি আরও যুক্তি তুলতে পারে, তবে এটি কোনও মূল্য ফেরায় না
অক্ষয় খালে

তাহলে আপনার উত্তর ঠিক করুন?
গোবিন্দ রায়

এটি ঠিক ঠিক আছে @ গোবিন্দরাই
অক্ষয় খালে

"var_dump কোনও মান ফিরিয়ে দিতে পারে না"? হ্যা পারি. ধরণ. ob_start(); var_dump($var); $dump=ob_get_clean();
সাইনাস ম্যাকোওয়াতি

3

আমি অ্যাডিশনালভাবে কোনও ব্রাউজারে আউটপুট দেওয়ার সময় var_dump () বা প্রিন্টারের আউটপুট একটি প্রাক ট্যাগে রাখার পরামর্শ দেব ।

print "<pre>";
print_r($dataset);
print "</pre>";

আরও পঠনযোগ্য ফলাফল দেবে।


2

var_dump($var) অতিরিক্ত বিশদ সরবরাহ করে গভীরতার বিবরণ প্রদর্শন করে shows

  • মানটির ডেটা ধরণ (বংশধর উপাদানগুলি সহ)
  • একটি পরিবর্তনশীল উপাদান সংখ্যা
  • মান দৈর্ঘ্য

1

বড় অ্যারে সহ, মুদ্রণ_r দরকারী এর চেয়ে অনেক বেশি তথ্য প্রদর্শন করতে পারে। আপনি প্রথম 2000 টি অক্ষর বা আপনার প্রয়োজনের অনেকগুলি দেখিয়ে এটি এটিকে ছাঁটাই করতে পারেন।

  echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";

1

var_dump (): -

  1. এই ফাংশনটি এক বা একাধিক এক্সপ্রেশন সম্পর্কে কাঠামোগত তথ্য প্রদর্শন করে যা এর ধরণ এবং মানকে অন্তর্ভুক্ত করে। কাঠামো দেখানোর জন্য অ্যারে এবং অবজেক্টগুলিকে ইনডেন্ট করা মানগুলির সাথে পুনরাবৃত্তভাবে অনুসন্ধান করা হয়।
  2. এই ফাংশনটি ভেরিয়েবলের উপাদানগুলির সংখ্যা প্রদর্শন করে।
  3. পরিবর্তনশীল এই ফাংশন প্রদর্শন দৈর্ঘ্য।
  4. মানটি কেবল মুদ্রণ করে মান ফিরিয়ে দিতে পারে না।
  5. এটি ডিবাগিং উদ্দেশ্যে ব্যবহার করা হয়।

উদাহরণ: -

<?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"
  }
}

মুদ্রণ_আর (): -

  1. একটি পরিবর্তনশীল সম্পর্কে মানব-পঠনযোগ্য তথ্য মুদ্রণ করে।
  2. ভ্যারিয়েবলে var_dump () হিসাবে উপাদানের সংখ্যা প্রদর্শন করা হয় না।
  3. ভ্যারিয়েবলের var_dump () হিসাবে ভেরিয়েবলের দৈর্ঘ্য প্রদর্শন করা হয় না।
  4. আমরা printf_r () তে দ্বিতীয় প্যারামিটারটিকে সত্য হিসাবে সেট করে দিলে মানটি ফেরত দিন।

উদাহরণ: -

<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>

আউটপুট: -

<pre>
Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>

"মানটি কেবল মুদ্রণ করতে পারে না print" হ্যা পারি. ধরণ. ob_start(); var_dump($var); $dump=ob_get_clean();
সাইনাস ম্যাকোওয়াতি

0

print_r () এবং var_dump () হ'ল ডিবাগিংয়ের উদ্দেশ্যে পিএইচপি-তে ব্যবহৃত অ্যারে ডিবাগিং ফাংশন। print_r () ফাংশন অ্যারে কীগুলি এবং এর সদস্যদের অ্যারে ([কী] = মান) হিসাবে ফিরিয়ে দেয় যেখানে var_dump () ফাংশনটি অ্যারের কীগুলির সাথে ডাটা টাইপ এবং দৈর্ঘ্যের পাশাপাশি অ্যারে (অ্যারে_ দৈর্ঘ্য) returns [0] = স্ট্রিং প্রদান করে (1) 'একটি'}।


0

আমরা var_dump এর মতো একাধিক পরামিতিগুলি পাস করতে পারি:

var_dump("array1",$array1,"array2",$array2);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.