2017-10-19 156 views
0

我使用關聯數組從兩個不同頁面獲得數據,然後將這些數據用於另一個文件。我想使用一個變量而不是重寫該函數兩次。在關聯數組中使用變量

的第一個文件獲取數據,如

$data['property_subcategory']; 

第二個文件獲取相同的數據

$row['property_subcategory']; 

目前我使用下列條件

if ($currentseo == 'propertysearchresults') 
{ 
    $title = $data['property_subcategory']; 
} 

if ($currentseo == 'propertyfavorite') 
{ 
    $title = $row['property_subcategory']; 
} 

取而代之的是我想使用類似以下的東西

if ($currentseo == 'propertysearchresults') 
{ 
    $variable = "$data"; 
} 

if ($currentseo == 'propertyfavorite') 
{ 
    $variable = "$row"; 
} 

$title = $variable.['property_subcategory']; 

我收到errror Array to string conversion

+3

錯字。刪除'$ title = $變量中的點['property_subcategory'];' – Gordon

+1

最終這可以幫助你http://php.net/manual/en/language.variables.variable.php – Doomenik

+0

說實話,你 - 在這個例子我會堅持你已經有的,第二個版本不像第一個版本那樣清晰。 –

回答

1

如果你想堅持這樣的想法,不只是設置$variable等於您需要的陣列...

if ($currentseo == 'propertysearchresults') 
{ 
    $variable = $data; 
} 

elseif ($currentseo == 'propertyfavorite') 
{ 
    $variable = $row; 
} 

$title = $variable['property_subcategory']; 
0

這裏要說的是,似乎是基於由戈登和Doomenik

$variable= "data"; 

$title = "$".$variable['property_subcategory']; 

給出意見的工作。然而,如果變量是在要使用的解決方案if/else condition then syntax changes like following

if(${$variable}['property_subcategory'] == "Room") 
+0

因爲函數比變量聲明長得多(這裏只給出了一個簡單的函數),我的代碼將變得相當小和幹。 – Pichai

+1

這太可怕了。 – Progrock

+0

@Progrock我同意。 – Pichai

1

爲什麼不只是複製或引用一個不同的變量名?

<?php 

if($currentseo == 'propertyfavorite') 
    $data = &$row;