在php中将字符串变量转换为大写

时间:2016-02-14 02:44:35

标签: php

是否可以将字符串变量转换为大写。变量本身而不是变量的内容。

例如: -

  $name = "Jam"
  $data = function ?($name);

这样$ data包含“NAME”。 $ name作为函数中的变量传递,可以是$ name或$ game或任何东西。 事实是我正在尝试将变量名称大写。 无论如何都可以在php中实现。

  strtoupper($name)
  -->Output : JAM

这不是我想要的,我需要变量大写。我希望得到任何形式的帮助。

4 个答案:

答案 0 :(得分:1)

你可以使用php strtoupper()如果你想让你们所有的字符串都是大写的,但是如果你只希望字符串的第一个字母大写 ucfirst()< /强>

答案 1 :(得分:0)

您可以使用PHP strtoupper()函数:

<强> CODE

<?php

$name = 'Jam';

    echo strtoupper(print_var_name($name));

function print_var_name($var) {
    foreach($GLOBALS as $var_name => $value) {
        if ($value === $var) {
            return $var_name;
        }
    }

    return false;
}

?>

<强>输出

NAME

改编自How to get a variable name as a string in PHP?

答案 2 :(得分:0)

&#34; ... $ name作为函数中的变量传递...&#34;然后它改变为函数定义中的变量名 - 原始变量名在那一点上并不重要。 所以你的函数永远不知道变量的名称。 *显然有办法解决这个问题。显示在编辑*

但是,如果你想创建一个变量作为另一个变量的大写版本 - 我不知道该怎么做 - 那么这将为你做到。

$name = "Jam";
${strtoupper("name")} = $name;
print $NAME;

*编辑* :我不知道这个并且非常奇怪,并且从我在评论中发布的链接转换而来,我仍然不知道为什么它甚至可以使用但是:

function magicfunc($var)
{
   foreach($GLOBALS as $k => $v) { 
       if (!is_array($k) && $v == $var) return(strtoupper($k));
   }
}

$name = "1234";

${magicfunc($name)} = $name;

// Yes, we have this variable
print $NAME;

答案 3 :(得分:0)

<?php

$name = 'Jam';
$vars = get_defined_vars();

foreach ($vars as $key => $var) {
    if ($var == 'Jam') {
        $data = strtoupper($key);
    }
}

echo $data;