使用 PHP 在单个数组中存储多个值


store multiple value in a single array using php

这是我代码的一部分

$try = "<a href='{$linkURL}'>{$className}</a> w/ {$staffName} {$startDateTime} - {$endDateTime}";
echo $try;

负责打印这样的数据(它只是数据的一部分,原始数据包含一长串类似的输出):

Trial Class w/ Class Cancelled 2015-03-17 19:30:00 - 2015-03-17 20:15:00
Private Class w/ Cheyenne 2015-03-17 18:30:00 - 2015-03-17 19:30:00
Trial Class w/ Speed 2015-03-17 19:30:00 - 2015-03-17 20:15:00

我希望这些数据在一个数组中,所以我尝试了这样的事情:

$arr4 = array_merge(array($try));
echo '<pre>';
print_r($arr4);
echo '</pre>'; 

这开始以这种形式打印数据:

Array
(
    [0] => Trial Class w/ Class Cancelled 2015-03-17 19:30:00 - 2015-03-17 20:15:00
)
Array
(
    [0] => Private Class w/ Cheyenne 2015-03-24 18:30:00 - 2015-03-24 19:30:00
)
Array
(
    [0] => Trial Class w/ Speed 2015-03-17 19:30:00 - 2015-03-17 20:15:00
)

正在形成不同的数组,任何人都可以告诉我如何获取存储在单个数组中的数据,并得到这样的东西(可能接近它):

Array
(
    [0] => Trial Class w/ Class Cancelled 2015-03-17 19:30:00 - 2015-03-17 20:15:00
    [1] =>  Private Class w/ Cheyenne 2015-03-24 18:30:00 - 2015-03-24 19:30:00
    [2] =>  Private Class w/ Speed 2015-03-24 18:30:00 - 2015-03-24 19:30:00
)  

最简单的是:

$array = array();
// Your line logic might be
foreach ($lines as $line) {
    // Add '$array[] ='  before each line
    $array[] = $try = "<a href='{$linkURL}'>{$className}</a> w/ {$staffName} {$startDateTime} - {$endDateTime}";
    echo $try;
}

// when all lines are created you will have a single array with an entry per line
print_r($array);

$array[]也会将该行作为新条目添加到数组中。

使数组多维化

$array = array();
// Your line logic might be
foreach ($lines as $line) {
    $try = "<a href='{$linkURL}'>{$className}</a> w/ {$staffName} {$startDateTime} - {$endDateTime}";
    echo $try;
    // Create multidimensional record
    $lineForArray = array(
        'linkUrl' => $linkURL,
        'className' => $className,
        'staffName' => $staffName,
        'startDateTime' => $startDateTime,
        'endDateTime' => $endDateTime
    );
    $array[] = $lineForArray;
}

// when all lines are created you will have a single array with an entry per line
print_r($array);

我不明白这样做的原因:

$arr4 = array_merge(array($try));

当您想要一个将字符串作为值的数组时,您将每个$try字符串视为一个数组。

尝试使用 array_push() 函数并查看输出,也许这就是您需要的。

//Initializing the array
$arr4 = array();
//and now for each $try string you want to store:
array_push($arr4, $try);

问候