2012-06-12 162 views
0

對不起,如果這太明顯,但我已經太長了,現在我想不出如何去做。PHP:循環一個對象

我:

$objectPerson = new Person(); 
$objectPerson->setName($arrayName); 
$objectPerson->setLastName($arrayLastName); 
$arrayPerson = array(); 
$arrayPerson[] = $objectPerson; 
$objectMainClass->setArrayPerson($arrayPerson); 

$arrayName$arrayLastName是從$_REQUEST到來,有兩個元素每個:約翰,Jean和史密斯,泰勒

我會在稍後存儲$objectMainClass中有我的數據庫表這個結構:

Id | Name | LastName 

但現在代碼的方式,我存儲約翰,吉恩在名稱字段和史密斯,泰勒在這樣的姓氏領域:

Id | Name  | LastName 
------------------------------- 
1 | John, Jean | Smith, Taylor 

我能做些什麼來獲得:

Id | Name | LastName 
-------------------- 
1 | John | Smith 
2 | Jean | Taylor 

我知道我必須在上面的代碼中使用foreach,但我很困惑,我無法考慮如何去做。

非常感謝

+0

HTTP ://php.net/manual/en/control-structures.foreach.php – PeeHaa

回答

1

我不得不修復代碼中的一些錯誤,但這應該工作:

$arrayName = 'john,joe'; 
$arrayLastName = 'Smith,Shmoe'; 


$names = explode(",", $arrayName); 
$lastNames = explode(",", $arrayLastName); 

$arrayPerson = array(); 
// I don't know how the actual array and object is used in your 
// application, but based on context, I added your functionality 
for ($i = 0; $i < count($names); $i++) 
{ 
    // assuming $names and $lastNames are the same length 
    $name = $names[$i]; 
    $lastName = $lastNames[$i]; 

    // act on $name and $lastname however you want 
    $objectPerson = new Person(); 
    $objectPerson->setName($name); 
    $objectPerson->setLastName($lastName); 
    array_push($arrayPerson, $objectPerson); 
} 

$objectMainClass->setArrayPerson($arrayPerson); 
+0

非常感謝,非常棒! – user523129

-1

的foreach($對象$鍵=> $值){