如何使用数组通过php调度post?
大家好, 如何使用数组通过php调度post?我已经尝试使用foreach,但它对我不起作用:( 我想获得如下时间表:如何使用数组通过php调度post?,php,codeigniter,Php,Codeigniter,大家好, 如何使用数组通过php调度post?我已经尝试使用foreach,但它对我不起作用:( 我想获得如下时间表: $task = array( "t2" => array("10:11","12:00","23:18"), "t3" => array("08:00","11:30"), ); $post = array("post 1","post 2","post 3","post 4","p
$task = array(
"t2" => array("10:11","12:00","23:18"),
"t3" => array("08:00","11:30"),
);
$post = array("post 1","post 2","post 3","post 4","post 5","post 6","post 7");
请帮助我:)试试这个:
Post 1: T2 at 10:11
Post 2: T2 at 12:00
Post 3: T2 at 23:18
Post 4: T3 at 08:00
Post 5: T3 at 11:30
Post 6: T2 at 10:11
Post 7: T2 at 12:00
$task=array(
数组(“t2”,“10:11”),
数组(“t2”,“12:00”),
数组(“t2”,“23:18”),
阵列(“t3”,“08:00”),
阵列(“t3”,“11:30”)
);
$post=数组(“1号柱”、“2号柱”、“3号柱”、“4号柱”、“5号柱”、“6号柱”、“7号柱”);
$taskIndex=0;
foreach(以$p的形式发布)
{
$idx=$taskIndex%sizeof($task);
echo($p.:'.$task[$idx][0].'at'.$task[$idx][1].
);
$taskIndex++;
}
你需要这个。首先,您需要使这样的数组易于访问和灵活,同时创建存储总数据量所需的数组,使您的帖子递归使用相同的数据。在这里,我创建了一个$total
变量来存储总值,并在第二个foreach循环中检查是否大于,然后将当前循环变量$i
再次设置为0,以便从第一个索引访问数组
看起来您正在将数组序列化为$post
数组。但是您需要将任务与post?链接,如何设置post1取t2或t3?您是否试图在特定时间触发任务?你所说的“调度帖子”是什么意思?重读最初的问题,我认为OP实际上是在问关于调度作业队列的问题。
$task = array(
array("t2", "10:11"),
array("t2", "12:00"),
array("t2", "23:18"),
array("t3", "08:00"),
array("t3", "11:30")
);
$post = array("post 1","post 2","post 3","post 4","post 5","post 6","post 7");
$taskIndex = 0;
foreach($post as $p)
{
$idx = $taskIndex % sizeof($task);
echo($p.': '.$task[$idx][0].' at '.$task[$idx][1].'<br>');
$taskIndex++;
}
<?php
$tasks = array(
"t2" => array("10:11","12:00","23:18"),
"t3" => array("08:00","11:30"),
);
$posts = array("post 1","post 2","post 3","post 4","post 5","post 6","post 7");
$i = 0; $output = '';
$t = count($posts);
while (true) {
foreach ($tasks as $key => $times) {
foreach($times as $time) {
if($i == $t) break(3);
$output .= sprintf("%s: %s at %s\n", ucfirst($posts[$i]), ucfirst($key), $time);
$i++;
}
}
};
print $output;
/* Outputs:
Post 1: T2 at 10:11
Post 2: T2 at 12:00
Post 3: T2 at 23:18
Post 4: T3 at 08:00
Post 5: T3 at 11:30
Post 6: T2 at 10:11
Post 7: T2 at 12:00
*/
$task = array(
"t2" => array("10:11","12:00","23:18"),
"t3" => array("08:00","11:30"),
);
$post = array("post 1","post 2","post 3","post 4","post 5","post 6","post 7");
$arr = array();
$i = 0;
foreach($task as $k => $t){
foreach($t as $tas){
$arr[$i++] = array($k, $tas);
}
}
$total = $i - 1;
$i = 0;
foreach($post as $val){
if($i > $total)
$i = 0;
echo ucfirst($val).": ".ucfirst($arr[$i][0])." at ".$arr[$i][1]."\n";
$i++;
}