2011-01-24 67 views
1

我有一個帖子數組,我只想崩潰它的一個小節。例如,我有:內爆一個數組的子部分?

'value1' => 'a' 
'value2' => 'b' 
'value3' => 'c' 
'name1' => 'Fred' 
'name2' => 'Mary' 
'name3' => 'James' 
'value4' => 'd' 

我會在其餘變量中得到任意數量的名稱。從這些,我想要一個連接列表的這些名稱,用逗號插入。因此,對於上述陣列,輸出應該是:

Fred,Mary,James 

但是對於任何給定後,有可能是任何數量的(當然,不是任何)的名字,所有形式名稱#,其中是一個序列號。

這樣做最簡單的方法是什麼?

+1

名稱是否總是與模式爲「name#」的鍵相關聯,其中`#`是數字? – BoltClock 2011-01-24 19:59:00

+0

@BoltClock是的。 – user151841 2011-01-24 20:02:30

回答

2

一個簡單的循環可以做的伎倆:

$names = array(); 
foreach($arr as $k => $v) { 
    if(strpos(strtolower($k), 'name') === 0) { 
     $names[] = $v; 
    } 
} 
echo implode(",", $names); 

Try it here.

0

如果名字意味着字符串超過10個字符長,這裏是你可以做什麼:

foreach($array as $val) 
    if(strlen($val) > 1) 
     $result[] = $val; 

echo implode(',', $result); 

如果名稱是指其中鍵啓動與名稱值,這裏是你可以做什麼:

foreach($array as $key => $val) 
    if(substr($key,0,4) == 'name') 
     $result[] = $val; 

echo implode(',', $result); 
0

我把名字變成一陣列.. PHP處理這很好....

<input type="text" name="names[1]" value="" /> 

那麼你可以通過

$_POST['names'][1] 

,並繼續訪問這個..

foreach($_POST['names'] as $name => $value) 
{ 
    echo $value . ", "; 
}