Log in

View Full Version : Splitting Numbers



realwx
03-11-2007, 04:07 PM
I have this PHP code:

<?php
$gen["demo1"][] = 1;
$gen["demo1"][] = 2;
$gen["demo1"][] = 5;
$gen["demo1"][] = 6;
$gen["demo1"][] = 9;
$gen["demo1"][] = 10;
$gen["demo1"][] = 11;
//etc...
$content = "show_demo(";
for($i=0; $i < count($gen["demo1"]); $i++) {
$content .= "\"".$gen["demo1"][$i]."\",";
}
$content .= ")";
$content = str_replace("\",)","\")", $content);
echo $content;
?>

which basically outputs:

show_demo("1","2","5","6","9","10","11");

what I need, which I am confused on, is this:

show_demo("1","2","5");
show_demo("6","9","10");
show_demo("11");

I've been trying to figure this out, but nothing succeeded. :confused:

Daniel+
03-12-2007, 10:28 PM
$a_gen = array(); $a_content = array(); $ic = count($gen['demo1']);
for($i=0; $i < $ic; $i++) {
if ($i > 0 && !($i % 3)) {
$a_content[] = 'show_demo('. implode(',', $a_gen) .');';
array_splice($a_gen, 0);
}
$a_gen[] = '"'. $gen['demo1'][$i] .'"';
}
if (count($a_gen) > 0) $a_content[] = 'show_demo('. implode(',', $a_gen) .');';
$content = implode("\r\n", $a_content);
unset($a_gen); unset($a_content); unset($ic);

Twey
03-14-2007, 12:02 AM
function array_split($arr, $n) {
$r = array();
for($i = 0; $i < count($arr); $i += $n)
array_push($r, array_slice($arr, $i, $n));
return $r;
}

// ...

foreach(array_split($gen['demo1'], 3) as $v)
call_user_func_array('show_demo', $v);