2016-07-20 11 views
0

爆発に基づいてデータを取得する際に問題があります。 iは$cuisines_categoryの配列がある場合codeginterでデータを爆発させる方法

例:その配列から

string(26) "Breakfast/Cake - Accept voucher/New Restaurant""

それは$facility_name_allとして$cuisines_name_allとしてBreakfast/CakeAccept voucher/New_Restaurant 2つのコンテンツデータを有しました。

これまでのところ、私はこの次のコードされ、爆発のデータを返すことができます

$split=array_map('trim', explode("-",$cuisines_category)); 
$cuisines_name_all = (isset($split[0]) === TRUE ? $split[0] : 0); 
$facility_name_all = (isset($split[1]) === TRUE ? $split[1] : 0); 

$cuisines_name = explode("/", $cuisines_name_all); 
$facility_name = explode("/", $facility_name_all); 

私の問題は、どのようにちょうどこの配列として$facility_name_allの配列$cuisines_categoryコンテンツの場合については、次のとおりです。

string(30) "Online payment available/Deals"

私はこのコードで私の爆発のコードを変更します:

$split=array_map('trim', explode("-",$cuisines_category)); 
$cuisines_name_all = (isset($split[0]) === TRUE ? $split[0] : 0); 
if(isset($split[1])){ 
    $facility_name_all = $split[1]; 
}else{ 
    $facility_name_all = $split[0]; 
} 

$cuisines_name = explode("/", $cuisines_name_all); 
$facility_name = explode("/", $facility_name_all); 

はい、私は$facility_nameを返すことができますが、$cuisines_nameは、私は、データベースから新しいデータを取得するためにその$cuisines_name$facility_nameを返却する必要があるため$cuisines_nameは、任意のコンテンツ

を持っていないする必要があります$facility_nameと同じ内容を持っています。

implod -が終了しない場合、皆さんはデータをどのように違うか知っていますか?

+0

? –

+0

申し訳ありませんが、私は何を言ってしようとするのを明確にしないでください。 @Anantをもっと説明できますか – Kelvin

+0

'string(30)' '$ facility_name'と' $ cuisines_name'の間に期待される結果はどうでしょうか? –

答えて

2

あなたはそれを見ていますか?

シナリオ1

$cuisines_category = "Breakfast/Cake - Accept voucher/New Restaurant"; 

$split = array_map('trim', explode("-", $cuisines_category)); 

$cuisines_name_all = (count($split) > 1) ? $split[0] : 0; 
$facility_name_all = (count($split) > 1) ? $split[1] : $split[0]; 

$cuisines_name = explode("/", $cuisines_name_all); 
$facility_name = explode("/", $facility_name_all); 

出力

cuisines_name: Array ([0] => Breakfast [1] => Cake) 

facility_name: Array ([0] => Accept voucher [1] => New Restaurant) 

シナリオ2

$cuisines_category = "Accept voucher/New Restaurant"; 

$split = array_map('trim', explode("-", $cuisines_category)); 

$cuisines_name_all = (count($split) > 1) ? $split[0] : 0; 
$facility_name_all = (count($split) > 1) ? $split[1] : $split[0]; 

$cuisines_name = explode("/", $cuisines_name_all); 
$facility_name = explode("/", $facility_name_all); 
成果が期待されるものを第2のケースで

出力

cuisines_name: Array ([0] => 0) 

facility_name: Array ([0] => Accept voucher [1] => New Restaurant) 
+0

でなければなりません。 '$ cuisines_name_all'に' $ cuisines_category'が含まれているとどうでしょうか? – Kelvin

+0

いいえ、それはその後動作しません。料理名は 'facility_name'配列に入ります。あなたは2つの可能性を挙げました。1.文字列には、料理名と施設名の両方が含まれています。2.施設名のみがあります。 –

+1

あなたの文字列にファシリティと料理の両方、またはいずれか一方が含まれている場合は、文字列に型を追加する必要があります。なぜなら、今は、それが料理であるか施設であるかを検出できる方法がないからです。 –

関連する問題