SORU
1 Kasım 2008, CUMARTESİ


Nasıl bir değişken adı almak için PHP bir dize olarak?

Ben bu PHP kodu var:

$FooBar = "a string";

ben o zaman böyle bir işlev gerekir

print_var_name($FooBar);

yazdıran:

FooBar

Bunu başarmak için nasıl herhangi bir Fikir? Bu bile mümkün PHP?

CEVAP
1 Ocak 2009, PERŞEMBE


Bu da verimli bir şekilde yapmanın bir yolunu bulamadım ama aklıma bu geldi. Sınırlı kullanımlar için aşağıda çalışıyor.

omuz silkme

<?php

function varName( $v ) {
    $trace = debug_backtrace();
    $vLine = file( __FILE__ );
    $fLine = $vLine[ $trace[0]['line'] - 1 ];
    preg_match( "#\\$(\w )#", $fLine, $match );
    print_r( $match );
}

$foo = "knight";
$bar = array( 1, 2, 3 );
$baz = 12345;

varName( $foo );
varName( $bar );
varName( $baz );

?>

// Returns
Array
(
    [0] => $foo
    [1] => foo
)
Array
(
    [0] => $bar
    [1] => bar
)
Array
(
    [0] => $baz
    [1] => baz
)

Argüman bulduğu işlevi çağıran esaslı geçirilen çalışıyor. Birden çok bağımsız değişken ile çalışmak için genişletilmiş olabilir sanırım ama, herkesin dediği gibi, eğer bu durumu daha iyi izah ederseniz, başka bir çözüm muhtemelen daha iyi çalışır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Php

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • emimusic

    emimusic

    10 Mart 2006
  • HereWeStayKings

    HereWeStayKi

    3 NİSAN 2013
  • Learn word 2013 tutorials

    Learn word 2

    5 AĞUSTOS 2014