পিএইচপি-তে $$ (ডলার ডলার বা ডাবল ডলার) এর অর্থ কী?


116

উদাহরণ একটি ফাংশনের মধ্যে পরিবর্তনশীল ঘোষণা:

global $$link;

কী $$মানে?



50
এটি আপনাকে দেখায় যে maintaining আপনি সিস্টেমটি বজায় রাখার জন্য কীভাবে পাচ্ছেন;)
— আরসিআইএক্স


এটি একটি নাম ভিত্তিক ডি-রেফারেন্স। ${$link}বাশের মতো কিছু
— ওন্দ্রা Žižka

উত্তর:


182

একটি সিনট্যাক্স যেমন ভেরিয়েবল ভেরিয়েবল$$variable বলা হয় ।


উদাহরণস্বরূপ, আপনি যদি কোডের এই অংশটি বিবেচনা করেন:

$real_variable = 'test';
$name = 'real_variable';
echo $$name;

আপনি নিম্নলিখিত আউটপুট পাবেন:

test


এখানে :

  • $real_variable পরীক্ষা আছে
  • $name আপনার ভেরিয়েবলের নাম রয়েছে: 'real_variable'
  • $$nameমানে " ভেরিয়েবল থস এর নামটি রয়েছে$name "
    • যা হলো $real_variable
    • এবং মান আছে 'test'



@ ঝনির মন্তব্যের পরে সম্পাদনা করুন:

একটি করছেন $$$?
ভাল, জানার সর্বোত্তম উপায় হ'ল চেষ্টা করা ;-)

সুতরাং, কোডের এই অংশটি চেষ্টা করে দেখি:

$real_variable = 'test';
$name = 'real_variable';
$name_of_name = 'name';

echo $name_of_name . '<br />';
echo $$name_of_name . '<br />';
echo $$$name_of_name . '<br />';

এবং আউটপুট আমি এখানে পেতে:

name
real_variable
test

সুতরাং, আমি বলব যে, হ্যাঁ, আপনি করতে পারেন$$$ ;-)


10
যদিও আমি সম্মত হই যে এটি কার্যকর হতে পারে, বেশিরভাগ সময় যেকোন উপায়ে অ্যারে ব্যবহার করা ভাল।
— o0 '

সুতরাং এই $ {$ মান doing করছেন একই জিনিস?
— চেইম

3
@ ছাইম: হ্যাঁ এটি ;; ব্যতীত, কিছু ক্ষেত্রে, {এবং }প্রয়োজনীয় হয় (সে সম্পর্কে ম্যানুয়ালটিতে একটি উদাহরণ রয়েছে)
— পাস্কাল মার্টিন

23

অভ্যন্তরীণ একটি স্ট্রিংয়ের সাথে একটি ভেরিয়েবলকে সমাধান করে এবং বাইরেরটি সেই স্ট্রিং দ্বারা একটি ভেরিয়েবলকে সমাধান করে।

সুতরাং, এই উদাহরণ বিবেচনা করুন

$inner = "foo";
$outer = "inner";

পরিবর্তনশীল:

$$outer

স্ট্রিং "foo" সমান হবে


যদিও স্বীকৃত আনসারটি অনেক বিস্তৃত (পরীক্ষার কেস সহ)। এই ব্যাখ্যাটি আমার কাছে এটি আরও স্পষ্ট করে তুলেছে
— মারিয়াসজেপি



4

আমি অন্যের পরে পুনরাবৃত্তি করতে চাই না তবে ব্যবহার করার ঝুঁকি রয়েছে $$:)

$a  = '1';
$$a =  2; // $1 = 2 :)

তাই এটি মাথা দিয়ে ব্যবহার করুন। :)


1

এটি একটি ভেরিয়েবলের বিষয়বস্তু অন্যটির নাম হিসাবে মূল্যায়ন করে। মূলত এটি আপনাকে পরিবর্তনশীল দেয় যার নাম সঞ্চিত $link।


1

এটি আমার জন্য কাজ করেছে (বর্গাকার বন্ধনীতে আবদ্ধ):

$aInputsAlias = [
        'convocatoria'   => 'even_id',
        'plan'           => 'acev_id',
        'gasto_elegible' => 'nivel1',
        'rubro'          => 'nivel2',
        'grupo'          => 'nivel3',
    ];

    /* Manejo de los filtros */

    foreach(array_keys($aInputsAlias) as $field)
    {
        $key = $aInputsAlias[$field];

        ${$aInputsAlias[$field]} = $this->request->query($field) ? $this->request->query($field) : NULL;
    }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.