function aa($ary)
{
    return $ary['ddd'];
}
$arr = array("ddd"=>123);
$brr = array("ddd"=>"offduty");
echo aa($arr);
echo aa($brr);????

解决方案 »

  1.   


    function aa($str)
    {
        global $arr;
        return $arr[$str];
    }
    $arr = array("ddd"=>"shit");echo aa("ddd");
      

  2.   

    to alasika
    如果我知道有个array $arr 就不会提这个问题了:(
      

  3.   

    to Meteorlet
    汗~~怎么不见大侠的解呢?
      

  4.   

    <?php
    $test = array( "a", "b", "c" );
    function func( $arrName )
    {
    print_r( $GLOBALS[$arrName] );
    }func( "test" );
    ?>
      

  5.   

    我实在看不出ICE的回答跟LZ的问题是一样的。如果答案是的话,那就真的厉害了。(没有讽刺ICE的意思),只是因为LZ的问题跟他自己提出来的例子说的是两码事情。
    如果是要调用数组,那怎么还会有个
    $arr=array("ddd"=>123);
    func("ddd");
    呢?我怎么看都是他要调用数组的某个索引。郁闷!to alasika
    如果我知道有个array $arr 就不会提这个问题了:(那你的意思是说不知道是不是数组吗?用is_array判断就可以了。
      

  6.   

    ice_berg16(寻梦的稻草人) ( )的做法是正确的
    至于楼主想知道传进来的是什么类型的东西
    应该自己在代码里面判断
    如果觉得print_r( $GLOBALS[$arrName] );不明白的话
    你用echo $GLOBALS[$arrName][0]就明白了。$GLOBALS
    包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。
      

  7.   

    那要是我想传一个函数名进来,然后在里面调用呢?function callback( $func )
    {
       $str = "<p>hello,world</p>";
       return call_user_func( $func, $str );
    }echo callback( "strip_tags" );
      

  8.   

    很想噌点分,可惜都被ice讲完了。楼主看一下手册上关于$_GLOBALS (Predefined variables), global, eval, Function Handling Functions, 这几部分即可