0

コードがあり、オンラインで結果を取得したい

    $lang = $this->config->item('email');
    echo $lang['support_email'] ; die;

いつ私var_dump $langは結果

array(11) {
  ["useragent"]=>
  string(11) "CodeIgniter"
  ["mailpath"]=>
  string(17) "/usr/bin/sendmail"
  ["protocol"]=>
  string(4) "mail"
  ["smtp_host"]=>
  string(9) "localhost"
  ["smtp_user"]=>
  string(0) ""
  ["smtp_pass"]=>
  string(0) ""
  ["smtp_port"]=>
  string(2) "25"
  ["system_email"]=>
  string(21) "noreply@elephanti.com"
  ["help_email"]=>
  string(18) "help@elephanti.com"
  ["inquiries_email"]=>
  string(23) "inquiries@elephanti.com"
  ["support_email"]=>
  string(21) "support@elephanti.com"
}

私は試した

エコー$this->config->item('email')['support_email']

echo echo `$this->config->item('email')->support_email 

助けてください.............

4

4 に答える 4

3
$lang = $this->config->item('email', 'support_email');

ドキュメントから:

http://codeigniter.com/user_guide/libraries/config.html

// Retrieve a config item named site_name contained within the blog_settings 配列`

$site_name = $this->config->item('site_name', 'blog_settings');

于 2012-05-07T10:40:41.467 に答える
1

echo $this->config->item('email')['support_email']PHP 5.4+でのみ実行できます

そうでなければ、あなたができる最善のことは次のとおりです。

$lang=$this->config->item('email');echo $lang['support_email'];exit;

または、それを行うカスタム関数を作成します。

しかし、なぜこれを 1 行で行わなければならないのか、自問してみてください。

于 2012-05-07T10:37:41.223 に答える
1

echo $this->config->item('email')['support_email']

これは実際には PHP > 5.4 で動作します。古いバージョンでは、1 つのステートメントで行うことができないため、配列を別のローカル変数に格納する必要があります。次のように値を取得する関数を作成できます。

 <?php
 function array_get( array $array, $index ) {
    return isset( $array[$index] ) ? $array[$index] : false;
 }

 echo array_get( $this->config->item( 'email' ), 'support_email' );

でも本当に駄目です。1行で実行したい特別な理由はありますか?

于 2012-05-07T10:40:23.887 に答える
0

試す:

foreach($lang as $key=>$val)
{
  if($key == "support_email")
  {
    echo $val;
  }
}
于 2012-05-07T10:39:35.990 に答える