Loops 解析数组并选择相同的信息

Loops 解析数组并选择相同的信息,loops,multidimensional-array,Loops,Multidimensional Array,Hey是我的soap响应返回的一个数组示例(我无法控制webservice) 我无法形成一个循环,将每个名称和可用日期组合在一起。感觉很愚蠢。看起来很简单,但我无法理解。也许你的一位公式大师能帮我找到正确的方向 获取对象的代码如下所示: $result->name 我想如何展示: 姓名:格雷格·霍布 有效日期:2011年4月12日至2011年4月13日 希望这是有意义的,我了解如何显示它们,只是没有以正确的方式获取它们。您实现阵列/数据的方式似乎是不必要的,而且过于复杂。除了日期之外,您有两个相

Hey是我的soap响应返回的一个数组示例(我无法控制webservice)

我无法形成一个循环,将每个名称和可用日期组合在一起。感觉很愚蠢。看起来很简单,但我无法理解。也许你的一位公式大师能帮我找到正确的方向

获取对象的代码如下所示:

$result->name

我想如何展示:

姓名:格雷格·霍布 有效日期:2011年4月12日至2011年4月13日


希望这是有意义的,我了解如何显示它们,只是没有以正确的方式获取它们。

您实现阵列/数据的方式似乎是不必要的,而且过于复杂。除了日期之外,您有两个相同的数组元素,因此您可以将两个DatesAvailable(开始日期和结束日期)放在一起,使您的实际DatesAvailable。
在名称数组中,只需放置startDate和endDate字段。这样,每个元素都是一个不同的个体,包含您需要的所有数据

下面是一些真正的断断续续的代码(快速编写),说明了如何处理这个问题,并创建一个像我上面描述的那样的新数组:

$newArray; $flag; $num;
for($i = 0; $i < count($Names); $i++)
{
    $flag = false;
    for($c = 0; $c < count($newArray); $c++)
    {
         if($names[$i][$ID] == $newArray[$c][$ID])
         {
              $newArray[$c][$endDate] = $Names[$i][$datesAvailable];
              $flag = true;
              break;
         }
     }
    if(!$flag)
    {
         //create a new element in $newArray. set ur ID, contact fields, etc.
         $newArray[count($newArray)][$startDate] = $names[$i][$datesAvailable];
     }
 }
$newArray$旗帜$号码;
对于($i=0;$i

希望这对您有所帮助>您实现阵列/数据的方式似乎不必要且过于复杂。除了日期之外,您有两个相同的数组元素,因此您可以将两个DatesAvailable(开始日期和结束日期)放在一起,使您的实际DatesAvailable。
在名称数组中,只需放置startDate和endDate字段。这样,每个元素都是一个不同的个体,包含您需要的所有数据

下面是一些真正的断断续续的代码(快速编写),说明了如何处理这个问题,并创建一个像我上面描述的那样的新数组:

$newArray; $flag; $num;
for($i = 0; $i < count($Names); $i++)
{
    $flag = false;
    for($c = 0; $c < count($newArray); $c++)
    {
         if($names[$i][$ID] == $newArray[$c][$ID])
         {
              $newArray[$c][$endDate] = $Names[$i][$datesAvailable];
              $flag = true;
              break;
         }
     }
    if(!$flag)
    {
         //create a new element in $newArray. set ur ID, contact fields, etc.
         $newArray[count($newArray)][$startDate] = $names[$i][$datesAvailable];
     }
 }
$newArray$旗帜$号码;
对于($i=0;$i

希望这对soap响应的布局有帮助。伤了我的头,没关系。如果你不能改变它,如果你不介意试一试的话,我会试着给你写一个循环。看看你能提供什么。我尝试了一些方法,在其中我为当前id创建了一个变量,然后循环直到变量相同,然后将其添加到数组中。但我不能让它工作。当然。还没有测试,可能有点草率,但我希望这有助于了解soap响应的布局。伤了我的头,没关系。如果你不能改变它,如果你不介意试一试的话,我会试着给你写一个循环。看看你能提供什么。我尝试了一些方法,在其中我为当前id创建了一个变量,然后循环直到变量相同,然后将其添加到数组中。但我不能让它工作。当然。还没有测试过,可能有点草率,但我希望它能帮助你