একবারে একাধিক ভেরিয়েবলগুলিতে একই মান নির্ধারণ করবেন?


115

আমি কীভাবে একবারে পিএইচপি একাধিক ভেরিয়েবলের জন্য একই মান নির্ধারণ করতে পারি?

আমার মতো কিছু আছে:

$var_a = 'A';
$var_b = 'A';
$same_var = 'A';
$var_d = 'A';
$some_var ='A';

আমার ক্ষেত্রে, আমি সমস্ত ভেরিয়েবলের একই নাম (যা জিনিসগুলি আরও সহজ করে তুলবে) রাখার জন্য নাম পরিবর্তন করতে পারি না, তাই আরও অনেক কমপ্যাক্ট উপায়ে সমস্ত ভেরিয়েবলের জন্য একই মান নির্ধারণ করার কোনও উপায় আছে কি?

উত্তর:


248
$var_a = $var_b = $same_var = $var_d = $some_var = 'A';

উজ্জ্বল, আমার জন্য নিখুঁতভাবে কাজ করেছে $ স্তর 1 = $ স্তর 2 = $ স্তর3 = $ স্তর4 = মিথ্যা;
জেল

1
কোন সীমা আছে?
দিপী অশুভ

9
এটি পিএইচপি ক্লাসে ব্যবহার করা যাবে না এবং এটি কাঁচা টাইপ।
চামিন্দা বান্দারা

@ চামিন্দাবন্দরা বলতে কী বোঝায় যে এটি পিএইচপি ক্লাসে ব্যবহার করা যাবে না?
ইয়োন

4
@ ইইন: করণে $var_a = $var_b = ... = new Class();, সমস্ত ভেরিয়েবল একই উদাহরণটি উল্লেখ করবে Class
টিম কুপার

1

অন্য উত্তর যুক্ত করতে।

$a = $b = $c = $d আসলে মানে $a = ( $b = ( $c = $d ) )

পিএইচপি ডিফল্টরূপেint, string, etc. রেফারেন্স দ্বারা মান এবং অবজেক্টের মাধ্যমে আদিম প্রকারগুলি পাস করে।

এর মানে

$c = 1234;
$a = $b = $c;
$c = 5678;
//$a and $b = 1234; $c = 5678;

$c = new Object();
$c->property = 1234;
$a = $b = $c;
$c->property = 5678;
// $a,b,c->property = 5678 because they are all referenced to same variable

যাইহোক, আপনি কীওয়ার্ডটি ব্যবহার করে মান দিয়েও বস্তুগুলি পাস করতে পারেন cloneতবে আপনাকে প্রথম বন্ধনী ব্যবহার করতে হবে।

$c = new Object();
$c->property = 1234;
$a = clone ($b = clone $c);
$c->property = 5678;
// $a,b->property = 1234; c->property = 5678 because they are cloned

কিন্তু, আপনি এই পদ্ধতিটি ব্যবহার করে কীওয়ার্ডের সাথে রেফারেন্স দিয়ে আদিম প্রকারগুলি পাস করতে পারবেন না&

$c = 1234;

$a = $b = &$c; // no syntax error
// $a is passed by value. $b is passed by reference of $c

$a = &$b = &$c; // syntax error

$a = &($b = &$c); // $b = &$c is okay. 
// but $a = &(...) is error because you can not pass by reference on value (you need variable)

// You will have to do manually
$b = &$c;
$a = &$b;
etc.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.