数组中的PHP计数
我想创建一个列表,如果它已经在数组中添加到值+1中 电流输出数组中的PHP计数,php,arrays,Php,Arrays,我想创建一个列表,如果它已经在数组中添加到值+1中 电流输出 [1] => Array ( [source] => 397 [value] => 1 ) [2] => Array ( [source] => 397 [value] => 1 ) [3] => Array ( [source] => 1314 [
[1] => Array
(
[source] => 397
[value] => 1
)
[2] => Array
(
[source] => 397
[value] => 1
)
[3] => Array
(
[source] => 1314
[value] => 1
)
我想要实现的目标
[1] => Array
(
[source] => 397
[value] => 2
)
[2] => Array
(
[source] => 1314
[value] => 1
)
我当前的PHP功能减弱了
foreach ($submissions as $timefix) {
//Start countng
$data = array(
'source' => $timefix['parent']['id'],
'value' => '1'
);
$dataJson[] = $data;
}
print_r($dataJson);
为此,PHP有一个名为
array\u count\u values
的函数。也许你可以用它
例如:
<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>
为此,PHP有一个名为
array\u count\u values
的函数。也许你可以用它
例如:
<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>
为此,PHP有一个名为
array\u count\u values
的函数。也许你可以用它
例如:
<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>
为此,PHP有一个名为
array\u count\u values
的函数。也许你可以用它
例如:
<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>
只需使用关联的数组:
$dataJson = array();
foreach ($submissions as $timefix) {
$id = $timefix['parent']['id'];
if (!isset($dataJson[$id])) {
$dataJson[$id] = array('source' => $id, 'value' => 1);
} else {
$dataJson[$id]['value']++;
}
}
$dataJson = array_values($dataJson); // reset the keys - you don't nessesarily need this
只需使用关联的数组:
$dataJson = array();
foreach ($submissions as $timefix) {
$id = $timefix['parent']['id'];
if (!isset($dataJson[$id])) {
$dataJson[$id] = array('source' => $id, 'value' => 1);
} else {
$dataJson[$id]['value']++;
}
}
$dataJson = array_values($dataJson); // reset the keys - you don't nessesarily need this
只需使用关联的数组:
$dataJson = array();
foreach ($submissions as $timefix) {
$id = $timefix['parent']['id'];
if (!isset($dataJson[$id])) {
$dataJson[$id] = array('source' => $id, 'value' => 1);
} else {
$dataJson[$id]['value']++;
}
}
$dataJson = array_values($dataJson); // reset the keys - you don't nessesarily need this
只需使用关联的数组:
$dataJson = array();
foreach ($submissions as $timefix) {
$id = $timefix['parent']['id'];
if (!isset($dataJson[$id])) {
$dataJson[$id] = array('source' => $id, 'value' => 1);
} else {
$dataJson[$id]['value']++;
}
}
$dataJson = array_values($dataJson); // reset the keys - you don't nessesarily need this
这并不完全是您想要的输出,因为数组键没有保留,但是如果适合您,您可以使用项目ID作为数组键。这将简化您的代码,使其不需要循环遍历已经可用的结果:
foreach ($submissions as $timefix) {
$id = $timefix['parent']['id'];
if (array_key_exists($id, $dataJson)) {
$dataJson[$id]["value"]++;
} else {
$dataJson[$id] = [
"source" => $id,
"value" => 1
];
}
}
print_r($dataJson);
这并不完全是您想要的输出,因为数组键没有保留,但是如果适合您,您可以使用项目ID作为数组键。这将简化您的代码,使其不需要循环遍历已经可用的结果:
foreach ($submissions as $timefix) {
$id = $timefix['parent']['id'];
if (array_key_exists($id, $dataJson)) {
$dataJson[$id]["value"]++;
} else {
$dataJson[$id] = [
"source" => $id,
"value" => 1
];
}
}
print_r($dataJson);
这并不完全是您想要的输出,因为数组键没有保留,但是如果适合您,您可以使用项目ID作为数组键。这将简化您的代码,使其不需要循环遍历已经可用的结果:
foreach ($submissions as $timefix) {
$id = $timefix['parent']['id'];
if (array_key_exists($id, $dataJson)) {
$dataJson[$id]["value"]++;
} else {
$dataJson[$id] = [
"source" => $id,
"value" => 1
];
}
}
print_r($dataJson);
这并不完全是您想要的输出,因为数组键没有保留,但是如果适合您,您可以使用项目ID作为数组键。这将简化您的代码,使其不需要循环遍历已经可用的结果:
foreach ($submissions as $timefix) {
$id = $timefix['parent']['id'];
if (array_key_exists($id, $dataJson)) {
$dataJson[$id]["value"]++;
} else {
$dataJson[$id] = [
"source" => $id,
"value" => 1
];
}
}
print_r($dataJson);
你应该自己简化这个。比如:
<?
$res = Array();
foreach ($original as $item) {
if (!isset($res[$item['source']])) $res[$item['source']] = $item['value'];
else $res[$item['source']] += $item['value'];
}
?>
Array(
[397] => 2,
[1314] => 1
)
<?
$final = Array();
foreach ($res as $source=>$value) $final[] = Array(
'source' => $source,
'value' => $value
);
?>
然后,如果您确实需要指定的格式,您可以使用以下内容:
<?
$res = Array();
foreach ($original as $item) {
if (!isset($res[$item['source']])) $res[$item['source']] = $item['value'];
else $res[$item['source']] += $item['value'];
}
?>
Array(
[397] => 2,
[1314] => 1
)
<?
$final = Array();
foreach ($res as $source=>$value) $final[] = Array(
'source' => $source,
'value' => $value
);
?>
您应该自己简化这个过程。比如:
<?
$res = Array();
foreach ($original as $item) {
if (!isset($res[$item['source']])) $res[$item['source']] = $item['value'];
else $res[$item['source']] += $item['value'];
}
?>
Array(
[397] => 2,
[1314] => 1
)
<?
$final = Array();
foreach ($res as $source=>$value) $final[] = Array(
'source' => $source,
'value' => $value
);
?>
然后,如果您确实需要指定的格式,您可以使用以下内容:
<?
$res = Array();
foreach ($original as $item) {
if (!isset($res[$item['source']])) $res[$item['source']] = $item['value'];
else $res[$item['source']] += $item['value'];
}
?>
Array(
[397] => 2,
[1314] => 1
)
<?
$final = Array();
foreach ($res as $source=>$value) $final[] = Array(
'source' => $source,
'value' => $value
);
?>
您应该自己简化这个过程。比如:
<?
$res = Array();
foreach ($original as $item) {
if (!isset($res[$item['source']])) $res[$item['source']] = $item['value'];
else $res[$item['source']] += $item['value'];
}
?>
Array(
[397] => 2,
[1314] => 1
)
<?
$final = Array();
foreach ($res as $source=>$value) $final[] = Array(
'source' => $source,
'value' => $value
);
?>
然后,如果您确实需要指定的格式,您可以使用以下内容:
<?
$res = Array();
foreach ($original as $item) {
if (!isset($res[$item['source']])) $res[$item['source']] = $item['value'];
else $res[$item['source']] += $item['value'];
}
?>
Array(
[397] => 2,
[1314] => 1
)
<?
$final = Array();
foreach ($res as $source=>$value) $final[] = Array(
'source' => $source,
'value' => $value
);
?>
您应该自己简化这个过程。比如:
<?
$res = Array();
foreach ($original as $item) {
if (!isset($res[$item['source']])) $res[$item['source']] = $item['value'];
else $res[$item['source']] += $item['value'];
}
?>
Array(
[397] => 2,
[1314] => 1
)
<?
$final = Array();
foreach ($res as $source=>$value) $final[] = Array(
'source' => $source,
'value' => $value
);
?>
然后,如果您确实需要指定的格式,您可以使用以下内容:
<?
$res = Array();
foreach ($original as $item) {
if (!isset($res[$item['source']])) $res[$item['source']] = $item['value'];
else $res[$item['source']] += $item['value'];
}
?>
Array(
[397] => 2,
[1314] => 1
)
<?
$final = Array();
foreach ($res as $source=>$value) $final[] = Array(
'source' => $source,
'value' => $value
);
?>
此代码将进行计数并生成一个
$new
数组,如示例中所述
$data = array(
array('source' => 397, 'value' => 1),
array('source' => 397, 'value' => 1),
array('source' => 1314, 'value' => 1),
);
$new = array();
foreach ($data as $item)
{
$source = $item['source'];
if (isset($new[$source]))
$new[$source]['value'] += $item['value'];
else
$new[$source] = $item;
}
$new = array_values($new);
此代码将进行计数并生成一个
$new
数组,如示例中所述
$data = array(
array('source' => 397, 'value' => 1),
array('source' => 397, 'value' => 1),
array('source' => 1314, 'value' => 1),
);
$new = array();
foreach ($data as $item)
{
$source = $item['source'];
if (isset($new[$source]))
$new[$source]['value'] += $item['value'];
else
$new[$source] = $item;
}
$new = array_values($new);
此代码将进行计数并生成一个
$new
数组,如示例中所述
$data = array(
array('source' => 397, 'value' => 1),
array('source' => 397, 'value' => 1),
array('source' => 1314, 'value' => 1),
);
$new = array();
foreach ($data as $item)
{
$source = $item['source'];
if (isset($new[$source]))
$new[$source]['value'] += $item['value'];
else
$new[$source] = $item;
}
$new = array_values($new);
此代码将进行计数并生成一个
$new
数组,如示例中所述
$data = array(
array('source' => 397, 'value' => 1),
array('source' => 397, 'value' => 1),
array('source' => 1314, 'value' => 1),
);
$new = array();
foreach ($data as $item)
{
$source = $item['source'];
if (isset($new[$source]))
$new[$source]['value'] += $item['value'];
else
$new[$source] = $item;
}
$new = array_values($new);