değişkenlerin iç değişkenler

4 Cevap php

Tamam bu aptal bir soru gibi gelebilir ama benimle ayı olabilir. Ben bunu yapmaya çalışıyorum böylece insanların example.php gittiğinizde? Id = 1, example.php? Id = 2, onlar boşlukları dahil bir dosya dolum denilen farklı verileri görmek id = 3 vs? Example.php.

Ben $ offername adında bir değişken var ve ben $ _GET ['id'] diyor ne bağlı olarak, bu alanda $ offer1name, $ offer2name, $ offer3name görüntülemek istiyorum. Birisi example.php gittiğinde İdeal? Id = 2, $ offername $ offer2name eşit olacaktır.

Ben böyle bir şey yapmak istiyorum:

$ Offername = $ teklif. $ _GET ['Id']. Adı

Ama tabii ki çalışmaz. Ben ne yapmalıyım?

4 Cevap

Bu çalışması gerekir:

$var = 'offer' . $_GET['id'] . 'name';
$offername = $$var;

variable variables daha fazla bilgi için ilgili sayfaya bakınız.

Bir daha temiz çözüm sadece çok boyutlu diziler kullanmaktır.

, örneğin, yerine

$offername = ${offer.$_GET['id'].name};

kullanmak

$offername = $offer[$_GET['id']]['name'];

ve böylece $ gibi bir teklif tanımlar:

$offer = array(
  1 => array(
    'name' => 'firstoffer',
  ),
  2 => array(
    'name' => 'secondoffer',
  ),
  3 => array(
    'name' => 'thirdoffer',
  ),
);

I find variable variables difficult to read, and most of the time when I see them kullanmakd, an array would be much better.

PHP değişken değişkenleri kullanabilirsiniz

Yani olabilir $offer_variable_name = 'offer' . $_GET['id'] . 'name';

Ve sonra $offername = $$offer_variable_name gibi bir şey kullanabilirsiniz.

Sen diğer çözümlere ek olarak yapabilirsiniz:

$offername = ${'offer' . $_GET['id'] . 'name'};