将子数组推送到数组中的特定键
Push sub-array to a specific key in an array
我相信这很容易做到,我只是这个 PHP 编程水平的新手。另外,请原谅我的术语,我不知道事物的正式名称,所以如果有什么不清楚的地方,请告诉我。
好的,所以我正在 PHP 中构建一个日历,并且几乎一切正常,只是我每天只能显示一个事件。我意识到这是因为我将事件数据存储为数组中特定键的子键。
基本上我在日历中创建每一天作为数组中的键。例如:
$events["1"] = "first day of the month";
$events["2"] = "second day of the month";
$events["3"] = "third day of the month";
...
然后在每个里面,我正在做这样的事情:
$events["1"]["title"] = "title for the event on the first day of the month";
$events["1"]["time"] = "time for the event on the first day of the month";
$events["2"]["title"] = "title for the event on the second day of the month";
$events["2"]["time"] = "time for the event on the second day of the month";
...
此设置意味着我每天只能存储一个事件。如果我在哪里尝试设置多个事件,每个后续事件都会覆盖前一个事件的值。
所以我想做的是将每个事件设置为该键内的一个数组。例如:
$events["1"][0] = array("title" => "first title for the event on the first day of the month", "time" => "first time for the event on the first day of the month");
$events["1"][1] = array("title" => "second title for the event on the first day of the month", "time" => "second time for the event on the first day of the month");
我可以使用 array_push()
来添加每个事件,但我不确定如何为带有键的数组执行此操作。
最后,一旦我正确存储了所有这些,我需要以某种方式输出每个事件,那么我将如何循环遍历每天的每个子数组?现在我正在做:
foreach ($events as $event) {
if ($event["title"] != "") {
echo "<strong>" . $event["title"] . "</strong>";
}
}
我想 foreach
中需要一个 foreach
,但我不太确定如何设置它。
感谢您的帮助。同样,我确信这很容易理解,我只是不太会编程。
PS:这一切都是为 WordPress 网站构建的,如果有区别的话。我知道有 http://wordpress.stackexchange.com,但我认为因为这是比 WordPress 特定的任何问题更一般的编程问题,所以它是更合适的站点。
如果你打算使用文本键,你最好这样做:
$events["1"]["title"] = "title for the event on the first day of the month";
$events["1"]["time"] = "time for the event on the first day of the month";
$events["1"]["events"] = array();
$events[n]['events'] 是当天所有事件的数组。
您不需要 array_push。您可以通过以下方式添加活动:
$events["1"]["events"][] = new event
那么您将通过以下方式显示事件:
foreach ($events as $event) {
if ($event["title"] != "") {
echo "<strong>" . $event["title"] . "</strong>";
}
foreach ($event['events'] as $evt) {
// display the event as you want
}
}
我相信这很容易做到,我只是这个 PHP 编程水平的新手。另外,请原谅我的术语,我不知道事物的正式名称,所以如果有什么不清楚的地方,请告诉我。
好的,所以我正在 PHP 中构建一个日历,并且几乎一切正常,只是我每天只能显示一个事件。我意识到这是因为我将事件数据存储为数组中特定键的子键。
基本上我在日历中创建每一天作为数组中的键。例如:
$events["1"] = "first day of the month";
$events["2"] = "second day of the month";
$events["3"] = "third day of the month";
...
然后在每个里面,我正在做这样的事情:
$events["1"]["title"] = "title for the event on the first day of the month";
$events["1"]["time"] = "time for the event on the first day of the month";
$events["2"]["title"] = "title for the event on the second day of the month";
$events["2"]["time"] = "time for the event on the second day of the month";
...
此设置意味着我每天只能存储一个事件。如果我在哪里尝试设置多个事件,每个后续事件都会覆盖前一个事件的值。
所以我想做的是将每个事件设置为该键内的一个数组。例如:
$events["1"][0] = array("title" => "first title for the event on the first day of the month", "time" => "first time for the event on the first day of the month");
$events["1"][1] = array("title" => "second title for the event on the first day of the month", "time" => "second time for the event on the first day of the month");
我可以使用 array_push()
来添加每个事件,但我不确定如何为带有键的数组执行此操作。
最后,一旦我正确存储了所有这些,我需要以某种方式输出每个事件,那么我将如何循环遍历每天的每个子数组?现在我正在做:
foreach ($events as $event) {
if ($event["title"] != "") {
echo "<strong>" . $event["title"] . "</strong>";
}
}
我想 foreach
中需要一个 foreach
,但我不太确定如何设置它。
感谢您的帮助。同样,我确信这很容易理解,我只是不太会编程。
PS:这一切都是为 WordPress 网站构建的,如果有区别的话。我知道有 http://wordpress.stackexchange.com,但我认为因为这是比 WordPress 特定的任何问题更一般的编程问题,所以它是更合适的站点。
如果你打算使用文本键,你最好这样做:
$events["1"]["title"] = "title for the event on the first day of the month";
$events["1"]["time"] = "time for the event on the first day of the month";
$events["1"]["events"] = array();
$events[n]['events'] 是当天所有事件的数组。
您不需要 array_push。您可以通过以下方式添加活动:
$events["1"]["events"][] = new event
那么您将通过以下方式显示事件:
foreach ($events as $event) {
if ($event["title"] != "") {
echo "<strong>" . $event["title"] . "</strong>";
}
foreach ($event['events'] as $evt) {
// display the event as you want
}
}