我有一個數組:獲取獨特的價值觀,沒有陣列功能計數
$arrData = array(3,5,5,8,7,6,3,1,2,8,9);
不使用任何陣列defualt功能,我想獲取數組的個性化......
條件:
重複的數組值必須被視爲1值。
請提供你的邏輯,可以幫助找到我的答案,而不陣列功能...
在此先感謝...
我有一個數組:獲取獨特的價值觀,沒有陣列功能計數
$arrData = array(3,5,5,8,7,6,3,1,2,8,9);
不使用任何陣列defualt功能,我想獲取數組的個性化......
條件:
重複的數組值必須被視爲1值。
請提供你的邏輯,可以幫助找到我的答案,而不陣列功能...
在此先感謝...
如果你只是想獲得陣列的數量沒有重複,你可以做到這一點這種方式:
<?php
$arrData = array(3, 5, 5, 8, 7, 6, 3, 1, 2, 8, 9);
$out = array();
foreach ($arrData as $item) {
if (!in_array($item, $out)) {
$out[] = $item;
}
}
echo count ($out);
如果你想知道OCCURENCES的數量,你可以這樣來做:
<?php
$arrData = array(3,5,5,8,7,6,3,1,2,8,9);
$out = array();
foreach ($arrData as $item) {
if (isset($out[$item])) {
++$out[$item];
}
else {
$out[$item] = 1;
}
}
foreach ($out as $item => $count) {
echo $item.' '.$count."<br />";
}
echo count($out);
您可以使用循環簡單地迭代每個元素,並使用第一個數組中的值和出現次數的值創建新數組。
好友我需要總數在最後..重複將被視爲1值..所以計數我想要的結果將是:8 – DeDevelopers 2014-09-30 06:07:05
感謝兄弟多數民衆贊成我想要的東西... – DeDevelopers 2014-09-30 06:09:14
感謝它的工作正常 - @MarcinNabiałek – 2017-05-02 06:19:07
使用此PHP函數
$arrData = array(3,5,5,8,7,6,3,1,2,8,9);
array_count_values($arrData);
print_r($arrData);
widtout函數默認dublicat數組值
$arrData = array(3, 5, 5, 8, 8, 7, 6, 3, 1, 2, 8, 9);
$i=0;
$valueArray='';
$newDublicatValue=array();
foreach($arrData as $key=>$value){
if ($arrData[$key]==$valueArray){
$newDublicatValue[]=$arrData[$key];
}
$valueArray=$arrData[$key];
}
print_r($newDublicatValue);
或在陣列
$result = array_unique($arrData);
print_r($result);
widtout使用此功能刪除dublicate值功能de對於故障陣列dublicat價值
$arrData = array(3, 5, 5, 8, 8, 7, 6, 3, 1, 2, 8, 9);
$i=0;
$valueArray='';
$newDublicatValue=array();
foreach($arrData as $key=>$value){
if ($arrData[$key]==$valueArray){
unset($arrData[$i]);
}
$valueArray=$arrData[$i];
$i++;
}
print_r($arrData);
「請提供你的邏輯,可以幫助找到我的答案沒有數組函數...「 – 2014-09-30 06:03:27
使用這樣的事情:
<?php
$arrData = array(3,5,5,8,7,6,3,1,2,8,9);
$tmpArray = array();
$i = 0;
foreach($arrData as $k => $v)
{
if(!in_array($v, $tmpArray))
{
$tmpArray[$k] = $v;
$i++;
}
}
echo "Unique array size is: ".$i;
?>
沒有in_array
<?php
$arrData = array(3,5,5,8,7,6,3,1,2,8,9);
$tmpArray = array();
foreach($arrData as $k => $v)
{
$tmpArray[$k] = $v;
}
$i = 0;
foreach($tmpArray as $k => $v)
{
$i++;
}
echo "Unique array size is: ".$i;
?>
謝謝你真的在工作..但如果我們不必使用in_array函數?我們仍然可以得到相同的結果@ S.Pols – DeDevelopers 2014-09-30 06:08:21
當然,那麼你會得到這樣的想法。 (往上看) – 2014-09-30 06:10:28
<?php
$arrData = array(3,5,5,8,7,6,3,1,2,8,9);
foreach($arrData as $x){
foreach($arrData as $y=>$t){
if($x == $y){
$array[$x] =0;
}else{
$array[$x] =1;
}
}
}
$numCount =0;
foreach($array as $q=>$r){
$numCount +=1;
}
echo $numCount ;
?>
<?php
$arr1 = [1,1,2,3,4,5,6,3,1,3,5,3,20];
print_r(arr_unique($arr1)); // will print unique values
echo "<br>";
echo "Unique value count => ".count(arr_unique($arr1)); // Will print unique value count
echo "<br>";
arr_count_val($arr1); // will print array with duplicate values
function arr_unique($arr) {
sort($arr);
$curr = $arr[0];
$uni_arr[] = $arr[0];
for($i=0; $i<count($arr);$i++){
if($curr != $arr[$i]) {
$uni_arr[] = $arr[$i];
$curr = $arr[$i];
}
}
return $uni_arr;
}
function arr_count_val($arr) {
$uni_array = arr_unique($arr);
$count = 0;
foreach($uni_array as $n1) {
foreach($arr as $n2) {
if($n1 == $n2) {
$count++;
}
}
echo "$n1"." => "."$count"."<br>";
$count=0;
}
}
?>
你嘗試過什麼?你的結果是什麼?什麼困擾你?在StackOverflow上發佈自己的任務,希望有人會爲你做這些任務沒有得到很好的考慮,你必須至少嘗試一下。 – personne3000 2014-09-30 06:00:15
我們不做功課。 – 2014-09-30 06:00:40
其實這是一個問題在採訪中問......我什至不知道..我試圖搜索,但每個人都使用的功能..所以我在這裏添加此問題... – DeDevelopers 2014-09-30 06:04:32