2011-02-17 20 views
0

我有一個PHP代碼這樣的:PHP的循環用List

$cityCount=10; 
$currentUsers = array(); 
$addedUsers = array(); 
for ($cityId = 1; $cityId <= $cityCount; $cityId++) { 
    $currentUsers[$cityId] = array(); 
    $addedUsers[$cityId] = array(); 
} 

不過,我想改變的,我想定義城市的陣列,因爲新的城市將被添加和it'i城市ID將是22(不11.如果它可能是11有打算是在代碼$ cityCount = 11只有一個變化,但城市的id沒有被現在的順序。)

像:

[1,2,3,4,5,6,7,8,9,10,22] 

我想遍歷該數組。

另外我有一個這樣的代碼:

for ($cityId = 1; $cityId <= $cityCount; $cityId++) { 
    foreach ($addedUsers[$cityId] as $userId) { 
     if($added) $addSql .= ",\n"; 
     $addSql .= '(' . $userId . ", " . $cityId . ')'; 
     $added++; 
} 

如何根據新的代碼版本更改此代碼?

+1

你能更清楚地解釋你想達到的目標嗎?我不明白你在做什麼。 – Pieter888 2011-02-17 13:34:08

+0

我曾經遍歷一個for循環。我的城市是10,他們的ID是1,2,3,....,8,9,10。但是,我的新城市ID將是22.因此,我需要更改我的代碼。 – kamaci 2011-02-17 13:37:44

+0

從哪裏得到你的城市?你的整個任務是什麼?你從數據庫中得到它嗎?看起來這是相當普遍的任務,而你正在以極其錯誤的方式進行。最有可能你只能使用SQL而不使用PHP。 – 2011-02-17 13:39:43

回答

1
$citiesids = array(1,2,3,4,5,6,7,8,9,10,22); 

$currentUsers = array(); 
$addedUsers = array(); 

foreach ($citesids as $cityId) { 
    $currentUsers[$cityId] = array(); 
    $addedUsers[$cityId] = array(); 
} 

是你需要什麼?

0

我不是很確定你的意思到底是什麼,但也許你的意思是使用cityIds數組而不是簡單的計數器?

在這種情況下,只需使用一個foreach:

foreach ($cities as $cityId) 
1

使用foreach

$cities = array(1,2,3,4,5,6,7,8,9,10,22); 
foreach ($cities as $cityId) { 
    // use $cityId as before. 
} 
0

我假設你要遍歷個城市,但不是所有的人都

$cityCount=22; 
$cities = array(1,2,3,4,5,6,7,8,9,10,22); 

for ($cityId = 1; $cityId <= $cityCount; $cityId++) { 
    // only handle the cases that where cityid is in the cities-array 
    if (!in_array($cityId, $cities)) continue; 

    // do what you like here 
} 
-2

正如我懷疑,它應該是SQL查詢,而不是PHP代碼
喜歡的東西

select * from user WHERE where city IN (SELECT * FROM cities) 

或無論適合你的隱藏和祕密需要

-1
$cityCount=10; 
$currentUsers = array(); 
$addedUsers = array(); 
for ($cityId = 1; $cityId <= $cityCount; $cityId++) { 
    $currentUsers[$cityId] = array(); 
    array_push($addedUsers,$cityId); 


} 

echo '<pre>'; 
print_r($addedUsers); 
echo '</pre>'; 

array_push($addedUsers,22);//whatever city you want to added (22 for example) 

echo '<pre>'; 
print_r($addedUsers); 
echo '</pre>'; 

OUTPUT

Array 
(
    [0] => 1 
    [1] => 2 
    [2] => 3 
    [3] => 4 
    [4] => 5 
    [5] => 6 
    [6] => 7 
    [7] => 8 
    [8] => 9 
    [9] => 10 
) 

Array 
(
    [0] => 1 
    [1] => 2 
    [2] => 3 
    [3] => 4 
    [4] => 5 
    [5] => 6 
    [6] => 7 
    [7] => 8 
    [8] => 9 
    [9] => 10 
    [10] => 22 // just Added 
)