0

私はこのような簡単なステートメントを持っています:

$data['title']  =   isset($domain['title']) ? $domain['title'] : '';

これで結構です。次に、データ配列は、codeigniterアクティブレコードを使用した挿入クエリで使用されます。ここで、issetがfalseを返した場合に、$data['title']を初期化しない方法があるかどうかを尋ねたいと思いました。

私はここで代替案を知っています

if(isset($domain['title'])){
   $data['title'] = $domain['title'];
}

if上の命令でどうやって同じことができるのか知りたいのですが?

4

3 に答える 3

2

これを行うために私が見ることができる最短の方法は次のとおりです。

if (isset($domain['title'])) $data['title'] = $domain['title'];

しかし、2番目の例に固執してください。読みやすくなっています。

于 2012-07-30T03:46:51.320 に答える
0

よくあなたはすることができます:

$data['title'] = !isset($domain['title'] ? : $domain['title'];

php5.3以降。

しかし、それは醜い紛らわしいコードなので、私はそれをお勧めしません。

于 2012-07-30T03:47:26.720 に答える
0

これを行うことはできますが、使用法ifの方が読みやすくなります。

isset($domain['title']) && ($data['title'] = $domain['title']);

編集:ループの使用例。

foreach (array('title', 'body', 'footer') as $key) {
  if (isset($domain[$key])) {
   $data[$key] = $domain[$key];
  }
}
于 2012-07-30T03:50:25.013 に答える