繁体   English   中英

在 PHP 中的数组变量中分配数组

[英]Assign an array in an array variable in PHP

我想将一个数组分配为 PHP 中另一个变量的值。 第一个数组是

<?php 
    $jsonData = array(
       'EndUserIp' => $ipAddress,
       'TokenId' => 'a58c1052-c08f-4f40-9a9c-8841de585a14',
       'AdultCount' => 1,
       'ChildCount' => 0,
       'InfantCount' => 0,
       'DirectFlight' => 1,
       'OneStopFlight' => 0,
       'JourneyType' => 1,
       'Segments'
    );
?>

第二个数组是:

<?php
    $segmentVal = array(
       'Origin' => 'DEL', 
       'Destination' => 'CCU',
       'FlightCabinClass' => 2, 
       'PreferredDepartureTime' => '2017-10-13T00:00:00', 
       'PreferredArrivalTime' => '2017-10-13T00:00:00'
    );
?>

我想将第二个数组分配为第一个数组中 Segment 变量的值。

试试 $jsonData['Segments'] = $segmentVal;

以下方法进行数组组合。

1)

<?php
$segmentVal = array(
      'Origin' => 'DEL',
      'Destination' => 'CCU',
      'FlightCabinClass' => 2,
      'PreferredDepartureTime' => '2017-10-13T00:00:00',
      'PreferredArrivalTime' => '2017-10-13T00:00:00'
   );


  $jsonData = array(
      'EndUserIp' => $ipAddress,
      'TokenId' => 'a58c1052-c08f-4f40-9a9c-8841de585a14',
      'AdultCount' => 1,
      'ChildCount' => 0,
      'InfantCount' => 0,
      'DirectFlight' => 1,
      'OneStopFlight' => 0,
      'JourneyType' => 1,
      'Segments' => $segmentVal
   );
?>

2)

<?php

    $jsonData = array(
          'EndUserIp' => $ipAddress,
          'TokenId' => 'a58c1052-c08f-4f40-9a9c-8841de585a14',
          'AdultCount' => 1,
          'ChildCount' => 0,
          'InfantCount' => 0,
          'DirectFlight' => 1,
          'OneStopFlight' => 0,
          'JourneyType' => 1,
          'Segments' => array(
               'Origin' => 'DEL',
               'Destination' => 'CCU',
               'FlightCabinClass' => 2,
               'PreferredDepartureTime' => '2017-10-13T00:00:00',
               'PreferredArrivalTime' => '2017-10-13T00:00:00'
            )
       );

    ?>

我想出了两种可能的方法来做到这一点

第一个是使用 json 传递编码第二个数组,如下所示

$jsonData = array(
    'EndUserIp' => "192.168.0.10",
    'TokenId' => 'a58c1052-c08f-4f40-9a9c-8841de585a14',
    'AdultCount' => 1,
    'ChildCount' => 0,
    'InfantCount' => 0,
    'DirectFlight' => 1,
    'OneStopFlight' => 0,
    'JourneyType' => 1,
    'Segments' => json_encode($segmentVal),
);

第二个类似你可以序列化$segmentVal如下

$jsonData = array(
    'EndUserIp'     => "192.168.0.10",
    'TokenId'       => 'a58c1052-c08f-4f40-9a9c-8841de585a14',
    'AdultCount'    => 1,
    'ChildCount'    => 0,
    'InfantCount'   => 0,
    'DirectFlight'  => 1,
    'OneStopFlight' => 0,
    'JourneyType'   => 1,
    'Segments'      => serialize($segmentVal),
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM