私はCodeIgniterでPHPを実行しています。私のアプリケーションでは、サイト全体を通して、MySQLから引き出された書式設定されたアドレスを出力する必要があります。いくつかのケースでは、address_1
が空白になっているかもしれませんが、他の場合にはpostcode
があるかもしれません。私は、これらのアドレスをきちんとフォーマットするヘルパ関数を書いています。クラスのPHPで変数変数を使用する(CodeIgniter)
問題は、いくつかの場所で私は、同じ結果セットに複数のアドレスを使用してこの機能を使用する必要があり、他の場所で私が$query->row('address_1')
かのように結果を渡すことができ、そのため、サイトの規模と複雑さにあります$row->address_1
。
私はこのように私の機能を書かれている:あなたは、私は少し働いた組み合わせを見つけようとelse
文の$a['address_1']
に「実験」して見ることができるように
// Get every element from the MySQL Resultset
if(method_exists($address, 'row'))
{
$a['abode'] = ($address->row($prefix.'abode') ? $address->row($prefix.'abode') : '');
$a['building_no'] = ($address->row($prefix.'building_no') ? $address->row($prefix.'building_no') : '');
$a['building_name'] = ($address->row($prefix.'building_name') ? $address->row($prefix.'building_name') : '');
$a['office_number'] = ($address->row($prefix.'office_number') ? $address->row($prefix.'office_number') : '');
$a['address_1'] = ($address->row($prefix.'address_1') ? $address->row($prefix.'address_1') : '');
$a['address_2'] = ($address->row($prefix.'address_2') ? $address->row($prefix.'address_2') : '');
$a['town'] = ($address->row($prefix.'town') ? $address->row($prefix.'town') : '');
$a['county'] = ($address->row($prefix.'county') ? $address->row($prefix.'county') : '');
$a['postcode'] = ($address->row($prefix.'postcode') ? $address->row($prefix.'postcode') : '');
$a['country'] = ($address->row($prefix.'country') ? $address->row($prefix.'country') : '');
}
else
{
// PHP Variable Variables
$a['abode'] = (isset($address->{$prefix.'abode'}) ? $address->{$prefix.'abode'}: '');
$a['building_no'] = (isset($address->{$prefix.'building_no'}) ? $address->{$prefix.'building_no'} : '');
$a['building_name'] = (isset($address->{$prefix.'building_name'}) ? $address->{$prefix.'building_name'} : '');
$a['office_number'] = (isset($address->{$prefix.'office_number'}) ? $address->{$prefix.'office_number'} : '');
$a['address_1'] = (isset($address->${$prefix.'address_1'}) ? $address->${$prefix.'address_1'} : '');
$a['address_2'] = (isset($address->{$prefix.'address_2'}) ? $address->{$prefix.'address_2'} : '');
$a['town'] = (isset($address->{$prefix.'town'}) ? $address->{$prefix.'town'} : '');
$a['county'] = (isset($address->{$prefix.'county'}) ? $address->{$prefix.'county'} : '');
$a['postcode'] = (isset($address->{$prefix.'postcode'}) ? $address->{$prefix.'postcode'} : '');
$a['country'] = (isset($address->{$prefix.'country'}) ? $address->{$prefix.'country'} : '');
}
。
私は仕事にelse
文のケースを取得しようとしていますが、PHPはそれが言うれる$a['address_1']
ラインを除きエラーか何かをスローしません:
Message: Undefined variable: app_address_1, Filename: helpers/address_helper.php
。
My $prefix
変数がapp_
に設定されていますが、これは機能しません。どうして?
使用アレイplzkthx。 –
'$ address - > {$ prefix.'address_1 '}'はうまくいくはずです。たぶんそれは 'address_1'プロパティを持っていないかもしれません。 'var_dump($ address)'を使って何が入っているのか調べてみてください。 –
var_dump($ address);コードのデバッグに役立ちます。 – goat