数组合需要如下

时间:2018-06-03 08:08:51

标签: php arrays multidimensional-array

我有2个数组$finalTitle$finalDescription我使用了array_merge并将主数组创建为$finalResult并输出如下

[
    {
        title: "ABC's Script"
    },
    {
        title: "DEF's Script"
    },
    {
        title: "GHI's Script"
    },
    {
        title: "JKL's Script"
    },
    {
        description: "My Name is ABC, I am living in Rajkot, I can able to speak English Language."
    },
    {
        description: "My Name is DEF, I am living in Surat, I can able to speak Hindi Language."
    },
    {
        description: "My Name is GHI, I am living in Vadodara, I can able to speak Tamil Language."
    },
    {
        description: "My Name is JKL, I am living in Ahmedabad, I can able to speak Gujarati Language."
    }
]

我希望最终输出中的数组结果如下所示。我想在单个数组中使用titledescription而不是不同的数组名称。

[
    {
        title: "ABC's Script",
        description: "My Name is ABC, I am living in Rajkot, I can able to speak English Language."
    },
    {
        title: "DEF's Script",
        description: "My Name is DEF, I am living in Surat, I can able to speak Hindi Language."
    },
    {
        title: "GHI's Script",
        description: "My Name is GHI, I am living in Vadodara, I can able to speak Tamil Language."
    },
    {
        title: "JKL's Script",
        description: "My Name is JKL, I am living in Ahmedabad, I can able to speak Gujarati Language."
    }
]

3 个答案:

答案 0 :(得分:1)

不是合并这两个数组,你不能为循环做嵌套的,这样就会返回数组中每一点的数据,然后连接结果吗?

static void Main(string[] args)
{
    int n = 1000, m = 9999;
    for (int i = n; i <= m; i++)
    {
       if (CheckIfNoAndPowerPalindromic(i))
       {
           Console.WriteLine(i);
       }
    }
}

private static bool CheckIfNoAndPowerPalindromic(int number)
{
   string numberString = number.ToString();
   string numberSquareString = (number * number).ToString();

   return (Enumerable.SequenceEqual(numberString.ToCharArray(), numberString.ToCharArray().Reverse()) && 
           Enumerable.SequenceEqual(numberSquareString.ToCharArray(), numberSquareString.ToCharArray().Reverse()));
}

output:-
1001
1111 
2002.

答案 1 :(得分:1)

假设这种关系始终存在。

尝试一下:

$split = count($array)/2;

$array = array_chunk($array, $split);

for($i = 0; $i < $split; $i++){

  $results[] = array(

    'title' => $array[0][$i]['title'],
    'description' => $array[1][$i]['description']

  );


}


echo '<pre>';
print_r($results);

输出:

Array
(
    [0] => Array
        (
            [title] => ABC's Script
            [description] => My Name is ABC, I am living in Rajkot, I can able to speak English Language.
        )

    [1] => Array
        (
            [title] => DEF's Script
            [description] => My Name is DEF, I am living in Surat, I can able to speak Hindi Language.
        )

    [2] => Array
        (
            [title] => GHI's Script
            [description] => My Name is GHI, I am living in Vadodara, I can able to speak Tamil Language.
        )

    [3] => Array
        (
            [title] => JKL's Script
            [description] => My Name is JKL, I am living in Ahmedabad, I can able to speak Gujarati Language.
        )

)

答案 2 :(得分:1)

我已完成以下代码。

foreach ($finalTitle as $key => $value) {
    $finalResult[] = array('title' => $value['title'], 'description' => $finalDescription[$key]['description']);
}
echo json_encode($finalResult);