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


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.