【问题标题】:PHP: looping an object [closed]PHP:循环对象[关闭]
【发布时间】:2012-06-12 12:32:31
【问题描述】:

对不起,如果这太明显了,但我已经太久了,现在我想不出该怎么做。

我有:

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

$arrayName 和 $arrayLastName 来自 $_REQUEST,每个都有两个元素:John, Jean 和 Smith, Taylor

稍后我会将$objectMainClass 存储在具有此结构的数据库表中:

Id | Name | LastName

但是现在代码的方式是,我将 John,Jean 存储在姓名字段中,将 Smith,Taylor 存储在姓氏字段中,如下所示:

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

我该怎么做才能得到:

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

??

我知道我必须在上面的代码中使用 foreach,但我被卡住了,无法思考如何去做。

非常感谢

【问题讨论】:

标签: php arrays object foreach


【解决方案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);

【讨论】:

    【解决方案2】:

    Foreach($object as $key=>$value) {

    【讨论】:

      猜你喜欢
      • 2017-06-30
      • 1970-01-01
      • 1970-01-01
      • 2017-02-26
      • 2015-04-15
      • 2022-06-15
      • 1970-01-01
      • 2013-03-05
      • 2017-01-18
      相关资源
      最近更新 更多