比较来自世界各地的卖家的域名和 IT 服务价格

php split 较小,偶数阵列

我有一个功能,应该将我的阵列分解为更小,均匀分布式的数组,但是,它似乎似乎它在途中重复了我的数据。 如果有人可以帮助我,那将是很棒的。

这是源数组:


Array
/
[0] => stdClass Object
/
[bid] => 42
[name] => Ray White Mordialloc
[imageurl] => sp_raywhite.gif
[clickurl] => [url=http://www.raywhite.com/]http://www.raywhite.com/[/url]
/

[1] => stdClass Object
/
[bid] => 48
[name] => Beachside Osteo
[imageurl] => sp_beachside.gif
[clickurl] => [url=http://www.beachsideosteo.com.au/]http://www.beachsideosteo.com.au/[/url]
/

[2] => stdClass Object
/
[bid] => 53
[name] => Carmotive
[imageurl] => sp_carmotive.jpg
[clickurl] => [url=http://www.carmotive.com.au/]http://www.carmotive.com.au/[/url]
/

[3] => stdClass Object
/
[bid] => 51
[name] => Richmond and Bennison
[imageurl] => sp_richmond.jpg
[clickurl] => [url=http://www.richbenn.com.au/]http://www.richbenn.com.au/[/url]
/

[4] => stdClass Object
/
[bid] => 50
[name] => Letec
[imageurl] => sp_letec.jpg
[clickurl] => www.letec.biz
/

[5] => stdClass Object
/
[bid] => 39
[name] => Main Street Mordialloc
[imageurl] => main street cafe.jpg
[clickurl] =>
/

[6] => stdClass Object
/
[bid] => 40
[name] => Ripponlea Mitsubishi
[imageurl] => sp_mitsubishi.gif
[clickurl] =>
/

[7] => stdClass Object
/
[bid] => 34
[name] => Adrianos Pizza & Pasta
[imageurl] => sp_adrian.gif
[clickurl] =>
/

[8] => stdClass Object
/
[bid] => 59
[name] => Pure Sport
[imageurl] => sp_psport.jpg
[clickurl] => [url=http://www.puresport.com.au/]http://www.puresport.com.au/[/url]
/

[9] => stdClass Object
/
[bid] => 33
[name] => Two Brothers
[imageurl] => sp_2brothers.gif
[clickurl] => [url=http://www.2brothers.com.au/]http://www.2brothers.com.au/[/url]
/

[10] => stdClass Object
/
[bid] => 52
[name] => Mordialloc Travel and Cruise
[imageurl] => sp_morditravel.jpg
[clickurl] => [url=http://www.yellowpages.com.au/vic/mordialloc/mordialloc-travel-cruise-13492525-listing.html]http://www.yellowpages.com.au/ ... .html[/url]
/

[11] => stdClass Object
/
[bid] => 57
[name] => Southern Suburbs Physiotherapy Centre
[imageurl] => sp_sspc.jpg
[clickurl] => [url=http://www.sspc.com.au]http://www.sspc.com.au[/url]
/

[12] => stdClass Object
/
[bid] => 54
[name] => PPM Builders
[imageurl] => sp_ppm.jpg
[clickurl] => [url=http://www.hotfrog.com.au/Companies/P-P-M-Builders]http://www.hotfrog.com.au/Companies/P-P-M-Builders[/url]
/

[13] => stdClass Object
/
[bid] => 36
[name] => Big River
[imageurl] => sp_bigriver.gif
[clickurl] =>
/

[14] => stdClass Object
/
[bid] => 35
[name] => Bendigo Bank Parkdale / Mentone East
[imageurl] => sp_bendigo.gif
[clickurl] => [url=http://www.bendigobank.com.au]http://www.bendigobank.com.au[/url]
/

[15] => stdClass Object
/
[bid] => 56
[name] => Logical Services
[imageurl] => sp_logical.jpg
[clickurl] =>
/

[16] => stdClass Object
/
[bid] => 58
[name] => Dicount Lollie Shop
[imageurl] => new dls logo.jpg
[clickurl] =>
/

[17] => stdClass Object
/
[bid] => 46
[name] => Patterson Securities
[imageurl] => cmyk patersons_withtag.jpg
[clickurl] =>
/

[18] => stdClass Object
/
[bid] => 44
[name] => Mordialloc Personal Trainers
[imageurl] => sp_mordipt.gif
[clickurl] => #
/

[19] => stdClass Object
/
[bid] => 37
[name] => Mordialloc Cellar Door
[imageurl] => sp_cellardoor.gif
[clickurl] =>
/

[20] => stdClass Object
/
[bid] => 41
[name] => Print House Graphics
[imageurl] => sp_printhouse.gif
[clickurl] =>
/

[21] => stdClass Object
/
[bid] => 55
[name] => 360South
[imageurl] => sp_360.jpg
[clickurl] =>
/

[22] => stdClass Object
/
[bid] => 43
[name] => Systema
[imageurl] => sp_systema.gif
[clickurl] =>
/

[23] => stdClass Object
/
[bid] => 38
[name] => Lowe Financial Group
[imageurl] => sp_lowe.gif
[clickurl] => [url=http://lowefinancial.com/]http://lowefinancial.com/[/url]
/

[24] => stdClass Object
/
[bid] => 49
[name] => Kim Reed Conveyancing
[imageurl] => sp_kimreed.jpg
[clickurl] =>
/

[25] => stdClass Object
/
[bid] => 45
[name] => Mordialloc Sporting Club
[imageurl] => msc logo.jpg
[clickurl] =>
/

/


这是一个函数 php, 适用于 split 大批:


function split_array/$array, $slices/ { 

$perGroup = floor/count/$array/ / $slices/;
$Remainder = count/$array/ % $slices ;
$slicesArray = array//;

$i = 0;
while/ $i < $slices / {
$slicesArray[$i] = array_slice/$array, $i * $perGroup, $perGroup/;
$i++;
}

if / $i == $slices / {
if /$Remainder > 0 && $Remainder < $slices/ {

$z = $i * $perGroup +1;
$x = 0;
while /$x < $Remainder/ {

$slicesRemainderArray = array_slice/$array, $z, $Remainder+$x/;
$remainderItems = array_merge/$slicesArray[$x],$slicesRemainderArray/;
$slicesArray[$x] = $remainderItems;

$x++;
$z++;
}
}
};

return $slicesArray;
}


这是结果 split /它以某种方式将元素复制到源数组中成较小的数组/:


Array
/
[0] => Array
/
[0] => stdClass Object
/
[bid] => 57
[name] => Southern Suburbs Physiotherapy Centre
[imageurl] => sp_sspc.jpg
[clickurl] => [url=http://www.sspc.com.au]http://www.sspc.com.au[/url]
/

[1] => stdClass Object
/
[bid] => 35
[name] => Bendigo Bank Parkdale / Mentone East
[imageurl] => sp_bendigo.gif
[clickurl] => [url=http://www.bendigobank.com.au]http://www.bendigobank.com.au[/url]
/

[2] => stdClass Object
/
[bid] => 38
[name] => Lowe Financial Group
[imageurl] => sp_lowe.gif
[clickurl] => [url=http://lowefinancial.com/]http://lowefinancial.com/[/url]
/

[3] => stdClass Object
/
[bid] => 39
[name] => Main Street Mordialloc
[imageurl] => main street cafe.jpg
[clickurl] =>
/

[4] => stdClass Object
/
[bid] => 48
[name] => Beachside Osteo
[imageurl] => sp_beachside.gif
[clickurl] => [url=http://www.beachsideosteo.com.au/]http://www.beachsideosteo.com.au/[/url]
/

[5] => stdClass Object
/
[bid] => 33
[name] => Two Brothers
[imageurl] => sp_2brothers.gif
[clickurl] => [url=http://www.2brothers.com.au/]http://www.2brothers.com.au/[/url]
/

[6] => stdClass Object
/
[bid] => 40
[name] => Ripponlea Mitsubishi
[imageurl] => sp_mitsubishi.gif
[clickurl] =>
/

/

[1] => Array
/
[0] => stdClass Object
/
[bid] => 44
[name] => Mordialloc Personal Trainers
[imageurl] => sp_mordipt.gif
[clickurl] => #
/

[1] => stdClass Object
/
[bid] => 41
[name] => Print House Graphics
[imageurl] => sp_printhouse.gif
[clickurl] =>
/

[2] => stdClass Object
/
[bid] => 39
[name] => Main Street Mordialloc
[imageurl] => main street cafe.jpg
[clickurl] =>
/

[3] => stdClass Object
/
[bid] => 48
[name] => Beachside Osteo
[imageurl] => sp_beachside.gif
[clickurl] => [url=http://www.beachsideosteo.com.au/]http://www.beachsideosteo.com.au/[/url]
/

[4] => stdClass Object
/
[bid] => 33
[name] => Two Brothers
[imageurl] => sp_2brothers.gif
[clickurl] => [url=http://www.2brothers.com.au/]http://www.2brothers.com.au/[/url]
/

[5] => stdClass Object
/
[bid] => 40
[name] => Ripponlea Mitsubishi
[imageurl] => sp_mitsubishi.gif
[clickurl] =>
/

/

[2] => Array
/
[0] => stdClass Object
/
[bid] => 56
[name] => Logical Services
[imageurl] => sp_logical.jpg
[clickurl] =>
/

[1] => stdClass Object
/
[bid] => 43
[name] => Systema
[imageurl] => sp_systema.gif
[clickurl] =>
/

[2] => stdClass Object
/
[bid] => 48
[name] => Beachside Osteo
[imageurl] => sp_beachside.gif
[clickurl] => [url=http://www.beachsideosteo.com.au/]http://www.beachsideosteo.com.au/[/url]
/

[3] => stdClass Object
/
[bid] => 33
[name] => Two Brothers
[imageurl] => sp_2brothers.gif
[clickurl] => [url=http://www.2brothers.com.au/]http://www.2brothers.com.au/[/url]
/

[4] => stdClass Object
/
[bid] => 40
[name] => Ripponlea Mitsubishi
[imageurl] => sp_mitsubishi.gif
[clickurl] =>
/

/

[3] => Array
/
[0] => stdClass Object
/
[bid] => 53
[name] => Carmotive
[imageurl] => sp_carmotive.jpg
[clickurl] => [url=http://www.carmotive.com.au/]http://www.carmotive.com.au/[/url]
/

[1] => stdClass Object
/
[bid] => 45
[name] => Mordialloc Sporting Club
[imageurl] => msc logo.jpg
[clickurl] =>
/

[2] => stdClass Object
/
[bid] => 33
[name] => Two Brothers
[imageurl] => sp_2brothers.gif
[clickurl] => [url=http://www.2brothers.com.au/]http://www.2brothers.com.au/[/url]
/

[3] => stdClass Object
/
[bid] => 40
[name] => Ripponlea Mitsubishi
[imageurl] => sp_mitsubishi.gif
[clickurl] =>
/

/

[4] => Array
/
[0] => stdClass Object
/
[bid] => 59
[name] => Pure Sport
[imageurl] => sp_psport.jpg
[clickurl] => [url=http://www.puresport.com.au/]http://www.puresport.com.au/[/url]
/

[1] => stdClass Object
/
[bid] => 54
[name] => PPM Builders
[imageurl] => sp_ppm.jpg
[clickurl] => [url=http://www.hotfrog.com.au/Companies/P-P-M-Builders]http://www.hotfrog.com.au/Companies/P-P-M-Builders[/url]
/

[2] => stdClass Object
/
[bid] => 40
[name] => Ripponlea Mitsubishi
[imageurl] => sp_mitsubishi.gif
[clickurl] =>
/

/

[5] => Array
/
[0] => stdClass Object
/
[bid] => 46
[name] => Patterson Securities
[imageurl] => cmyk patersons_withtag.jpg
[clickurl] =>
/

[1] => stdClass Object
/
[bid] => 34
[name] => Adriano's Pizza & Pasta
[imageurl] => sp_adrian.gif
[clickurl] => #
/

/

[6] => Array
/
[0] => stdClass Object
/
[bid] => 55
[name] => 360South
[imageurl] => sp_360.jpg
[clickurl] =>
/

[1] => stdClass Object
/
[bid] => 37
[name] => Mordialloc Cellar Door
[imageurl] => sp_cellardoor.gif
[clickurl] =>
/

/

[7] => Array
/
[0] => stdClass Object
/
[bid] => 49
[name] => Kim Reed Conveyancing
[imageurl] => sp_kimreed.jpg
[clickurl] =>
/

[1] => stdClass Object
/
[bid] => 58
[name] => Dicount Lollie Shop
[imageurl] => new dls logo.jpg
[clickurl] =>
/

/

[8] => Array
/
[0] => stdClass Object
/
[bid] => 51
[name] => Richmond and Bennison
[imageurl] => sp_richmond.jpg
[clickurl] => [url=http://www.richbenn.com.au/]http://www.richbenn.com.au/[/url]
/

[1] => stdClass Object
/
[bid] => 52
[name] => Mordialloc Travel and Cruise
[imageurl] => sp_morditravel.jpg
[clickurl] => [url=http://www.yellowpages.com.au/vic/mordialloc/mordialloc-travel-cruise-13492525-listing.html]http://www.yellowpages.com.au/ ... .html[/url]
/

/

[9] => Array
/
[0] => stdClass Object
/
[bid] => 50
[name] => Letec
[imageurl] => sp_letec.jpg
[clickurl] => www.letec.biz
/

[1] => stdClass Object
/
[bid] => 36
[name] => Big River
[imageurl] => sp_bigriver.gif
[clickurl] =>
/

/

/


^^ 如您所见,新创建的较小数组中的源数组中有重复。

我以为我可以使用多维重复删除功能删除重复项,但它没有工作。 我想我的问题在于这个功能 array_split.

你有一些想法吗? :/
已邀请:

裸奔

赞同来自:

EDIT: 有
http://www.php.net/array_chunk
, 这完全是它。

好吧,我不想调试,所以我写了一个版本
http://www.php.net/array_reduce
:


$pergroup = 2;
$redfunc = function /$partial, $elem/ use /$pergroup/ {
$groupCount = count/$partial/;
if /$groupCount == 0 || count/end/$partial// == $pergroup/
$partial[] = array/$elem/;
else
$partial[$groupCount-1][] = $elem;

return $partial;
};

$arr = array/1,2,3,4,5/;

print_r/array_reduce/$arr, $redfunc, array////;





Array
/
[0] => Array
/
[0] => 1
[1] => 2
/

[1] => Array
/
[0] => 3
[1] => 4
/

[2] => Array
/
[0] => 5
/

/

君笑尘

赞同来自:

$sections = array_chunk/array/'k', 'l', 'm', 'n', 'o'/, 2/;

龙天

赞同来自:

有 array_chunk, 这完全是它。

http://www.php.net/manual/en/f ... k.php
[只是做出一个明显的答案 Artefacto 更明确]

诸葛浮云

赞同来自:

在我看来,其他物体的分布太复杂了。

如果您知道缺少多少件物品 /
$Remainder

/, 为什么您不仅仅是生成剩余的片段和弹出元素
array_pop//

只要他不空?

顺便说一下,您可以使用此过程和整个数组。

窦买办

赞同来自:

function split_array/&$array, $slices/ {
$result = array//;
$l = count/$array/-1;
for /$i=0; $i<=$l; $i++/ {
if /$i == 0 || $i % $slices == 0/ $tmp = array//;
$tmp[] = $array[$i];
if /$i == $l || $i % $slices == 1/ $result[] = $tmp;
}
return $result;
}

小姐请别说爱

赞同来自:

array_chunk

如果项目总数不分为所需的块数,则不会均匀填充数组; 最后一个块可以小于第一个块 /例如,如果你有七个元素和你 split 分为三个街区,您将获得包含三个,三个和一个项目的阵列/.

以下实现将尝试平滑它,以便阵列的大小更多,即使这是您需要的,例如,如果您有七个元素,则会收到包含三个,两个和两个元素的块数组。 它仍然不是光滑的,但更顺畅。 它返回使用
array_chunk

, 如果数字均匀分为列数,因为它将更快 /特别是如果你有大号/.


php
function array_group/$array, $num/
{
$num = /int/ $num;
if /$num < 1/ {
throw new \InvalidArgumentException/'At least one group must be returned.'/;
}

$count = count/$array/;
if /$count && $count % $num === 0/ {
return array_chunk/$array, $count / $num/;
}

$groups = [];
$offset = 0;
do {
$length = ceil//$count - $offset/ / $num/;
$groups[] = array_slice/$array, $offset, $length/;
$offset += $length;
} while /--$num/;

return $groups;
}

print_r/array_chunk/array/1, 2, 3, 4, 5, 6, 7/, 3//;
/* Produces
Array
/
[0] = Array
/
[0] => 1
[1] => 2
[2] => 3
/

[1] => Array
/
[0] => 4
[1] => 5
[2] => 6
/

[2] => Array
/
[0] => 7
/

/ */

print_r/array_group/array/1, 2, 3, 4, 5, 6, 7/, 3//;
/* Produces
Array
/
[0] => Array
/
[0] => 1
[1] => 2
[2] => 3
/

[1] => Array
/
[0] => 4
[1] => 5
/

[2] => Array
/
[0] => 6
[1] => 7
/
/ */

诸葛浮云

赞同来自:

尝试这个简单的用途。 当他找到空字符串时,它会将数组打入两个数组。 其中一个从开始到空字符串索引。 其他 - 从空字符串索引到最后一个。

注意:字符串 Emty 不包括在两个选项中。 它仅用于验证状态。


$column[] = "id";
$column[] = "name";
$column[] = "email";
$column[] = "password";
$column[] = "";
$column[] = "uid";
$column[] = "uname";
$column[] = "mname";
$column[] = "lname";
$column[] = "city";
$column[] = "country";
$column[] = "zip";
$column[] = "cell";
$column[] = "address";
split_array/$column/;

function split_array/$column/
{

$total = count/$column/;
$num = array_search/'',$column/;

$split = $total - $num ;
$outer_sql = array_slice/ $column , - /$split/ + 1/;
array_splice/$column , $num/;

echo "<pre>";
print_r/$outer_sql/;
echo "</pre>";
echo "<pre>";
print_r/$column/;
echo "</pre>";

}

小明明

赞同来自:

这是划分数组的简单方法 php 分为两个相等的部分。
您可以使用两个阵列的所有元素和值 foreach easity


list/$firstarray, $secondarray/ = array_chunk/$vorstand_two_column, ceil/count/$all_array_contents/ / 2//; 

foreach/$firstarray as $fa/ {
.... Code ....
}

foreach/$secondarray as $sa/ {
.... Code ....
}

要回复问题请先登录注册