也許你想要使用代碼s imilar這樣:
$turl = explode(',',trim($params->get('c2')));
$tname = explode(',',trim($params->get('cn2')));
$result=array_combine($turl,$tname);
print_r($result);
的錯誤似乎是在$ turl和$ TNAME陣列創建的陣列組合應該工作打算
很顯然,我想補充一些檢查,如,例如,有兩個數組大小相同?
附錄
在你comment你給我的是什麼樣的回報$params->get
如果調用參數「C2」和「CN2」。
$params->get('c2')="hoicoimasti.com,google.com"
$params->get('cn2')="hoicoi,google".
我給你做的示例代碼做了什麼要求,或者至少我在想你試圖獲得什麼。不同的代碼用不同的結果是:
$turl = explode(',',trim($params->get('c2')));
$tname = explode(',',trim($params->get('cn2')));
$result=array_map(function($x,$y){return $x.','.$y;},$turl,$tname);
print_r($result);
,或者,如果你想獲得一個字符串:
$result=join(',',array_map(function($x,$y){return $x.'=>'.$y;},$turl,$tname));
print_r($result);
你可以得到任何想要的結果修改前面的例子之一。
包住導致一個選項,您需要的array_map用戶功能的一個微小的變化:
$result=join("\n",array_map(
function($x,$y){
return "<option>$x=>$y</option>";
},
$turl,
$tname
));
print_r($result);
PHP < 5。3版本
在全球範圍內
function formatOption($x,$y){
return "<option>$x=>$y</option>";
};
,並把這個函數聲明地方,那麼你的代碼將變爲:
$result=join("\n",array_map('formatOption', $turl, $tname));
print_r($result);
如果可能的話,我將不會擾亂與功能全局命名空間像formatOption, 但是當匿名功能不可用時
Re ference:
感謝您的答覆。是的,兩個數組的大小相同。但是你的代碼不工作。輸出如下:Array([Array] => Array([0] => ABC Radio [1] => AHH Radio)) – jibon57 2012-03-20 20:48:33
前兩行不需要'array()'...'explode '返回一個數組... – keithhatfield 2012-03-21 00:16:17
@dleiftah:你說得對。固定 – Eineki 2012-03-21 05:40:23