I have a function like this
function kmeans($data, $centroid, $initialClass, $indexOfData){
$result=array();
$value=array();
for ($i=0; $i < count($data); $i++) {
$distance=array();
for ($j=0; $j < count($centroid); $j++) {
$distance[$j]=sqrt(pow(($data[$i][$indexOfData]-$centroid[$j]),2));
}
if(array_search(min($distance), $distance)==0){
$newClass[$i]="Tidak Laris";
$result[0][]=$data[$i];
$value[0][]=$data[$i][$indexOfData];
}elseif (array_search(min($distance), $distance)==1) {
$newClass[$i]="Agak Laris";
$result[1][]=$data[$i];
$value[1][]=$data[$i][$indexOfData];
}elseif (array_search(min($distance), $distance)==2) {
$newClass[$i]="Sangat Laris";
$result[2][]=$data[$i];
$value[2][]=$data[$i][$indexOfData];
}
}
for ($i=0; $i < count($centroid); $i++) {
$newCentroidGenerated[$i]=@divide((array_sum($value[$i])),(count($value[$i])));
}
if ($initialClass!=$newClass) {
kmeans($data, $newCentroidGenerated, $newClass, $indexOfData);
}else{
return $result;
}
}
And when I returning the value, is only contain number like this
1
However when I try to print_r the variabel $result in scoop, its contain many items in there
Array ( [0] => Array ( [0] => Array ( [0] => 376219431015 [id_barang] => 376219431015 [1] => 8 [total] => 8 [2] => Samsung 14D4E [nama_barang] => Samsung 14D4E ) [1] => Array ( [0] => 438311046806 [id_barang] => 438311046806 [1] => 8 [total] => 8 [2] => Compaq CQ41-224tx [nama_barang] => Compaq CQ41-224tx ) [2] => Array ( [0] => 530556135122 [id_barang] => 530556135122 [1] => 8 [total] => 8 [2] => HP CK0006tx [nama_barang] => HP CK0006tx ) [3] => Array ( [0] => 613539171530 [id_barang] => 613539171530 [1] => 2 [total] => 2 [2] => Lenovo IP230 [nama_barang] => Lenovo IP230 ) [4] => Array ( [0] => 641020761998 [id_barang] => 641020761998 [1] => 4 [total] => 4 [2] => HP CK0004tx [nama_barang] => HP CK0004tx ) [5] => Array ( [0] => 765665463553 [id_barang] => 765665463553 [1] => 1 [total] => 1 [2] => Lenovo IP241 [nama_barang] => Lenovo IP241 ) [6] => Array ( [0] => 789851346783 [id_barang] => 789851346783 [1] => 9 [total] => 9 [2] => Toshiba Canvio 1Tb [nama_barang] => Toshiba Canvio 1Tb ) [7] => Array ( [0] => 829895569176 [id_barang] => 829895569176 [1] => 1 [total] => 1 [2] => ASUS ROG 14XDGM23 [nama_barang] => ASUS ROG 14XDGM23 ) [8] => Array ( [0] => WDBUZG0010BBK [id_barang] => WDBUZG0010BBK [1] => 3 [total] => 3 [2] => Western Digital HD Eks. 1TB [nama_barang] => Western Digital HD Eks. 1TB ) ) [2] => Array ( [0] => Array ( [0] => 431697173117 [id_barang] => 431697173117 [1] => 33 [total] => 33 [2] => HP CK0007tx [nama_barang] => HP CK0007tx ) [1] => Array ( [0] => 525666119354 [id_barang] => 525666119354 [1] => 26 [total] => 26 [2] => Lenovo IP210 [nama_barang] => Lenovo IP210 ) [2] => Array ( [0] => 809216329057 [id_barang] => 809216329057 [1] => 25 [total] => 25 [2] => ASUS A442UR [nama_barang] => ASUS A442UR ) ) [1] => Array ( [0] => Array ( [0] => 913872680267 [id_barang] => 913872680267 [1] => 14 [total] => 14 [2] => LCD Monitor 14 Inc [nama_barang] => LCD Monitor 14 Inc ) ) )
I want the return Value is the array like when I print_r the $result variable
if ($initialClass!=$newClass) {
$result=kmeans($data, $newCentroidGenerated, $newClass, $indexOfData);
}
return $result;
returning like this.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.