Armazernar стоимость и количество array PHP
Нужно подметать во-первых array
и сохраняет значение и объем этого значения в других array
. Я не получаю, потому что я с трудом на время хранения значений в другой - array
.
Array:
array(5) {
[0]=>
array(1) {
[0]=>
string(2) "12"
}
[1]=>
array(1) {
[0]=>
string(2) "13"
}
[2]=>
array(1) {
[0]=>
string(3) "100"
}
[3]=>
array(1) {
[0]=>
string(3) "12"
}
[4]=>
array(1) {
[0]=>
string(3) "13"
}
}
Array, стоимости и количестве, которые нужны:
array(3) {
[0]=>
array(1) {
[0]=>
string(2) "12"
int() "2"
}
[1]=>
array(1) {
[0]=>
string(2) "13"
int() "2"
}
[2]=>
array(1) {
[0]=>
string(3) "100"
int() "1"
}
}
3 answers
Привет, Кевин
Я Считаю, что вы можете решить этот вопрос с помощью функции array_count_values()
. Документации здесь.
В целях использования этой функции, ваши ценности станут ключами в другой массив. С foreach ($array as $valor => $ocorrencias)
можете ли вы пройти array производства и положил его в нужном формате. ;)
, дополнить ответ Макария Мартинс, сначала придется преобразовать многомерный массив в массив просто... Использовал этот пример ОС
$dados_unidimensional = call_user_func_array('array_merge', $dados_bidimensional);
Это будет превратить ваш массив
[ [ "12" ], [ "13" ], [ "100" ], [ "12" ], [ "13" ] ]
[ "12", "13", "100", "12", "13" ]
С этим вы можете использовать array_count_values()
$resultado = array_count_values($dados_unidimensional);
И $результат будет что-то типа
["12" => 2, "13" => 2, "100" => 1]
Его array
, кажется, multi-dimensional. Попробуйте таким образом:
<?php
$ar1[] = array("red","green","yellow","blue");
$ar1[] = array("green","yellow","brown","red","white","yellow");
$ar1[] = array("red","green","brown","blue","black","yellow");
$res = array_icount_values ($ar1);
print_r($res);
function array_icount_values($arr,$lower=true) {
$arr2=array();
if(!is_array($arr['0'])){$arr=array($arr);}
foreach($arr as $k=> $v){
foreach($v as $v2){
if($lower==true) {$v2=strtolower($v2);}
if(!isset($arr2[$v2])){
$arr2[$v2]=1;
}else{
$arr2[$v2]++;
}
}
}
return $arr2;
}
$ar1[] обменивайтесь своими arrays)