Php 在多维数组中添加数字
有没有一种更快的方法来添加多维数组中每个段中的所有数字,而不仅仅是手动添加?以前有人告诉我可以使用foreach循环,但我遇到了麻烦 我试图让它显示每个校园的课程注册总数,然后是每门课程的学生总数 我觉得答案就在眼前,但我不确定Php 在多维数组中添加数字,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,有没有一种更快的方法来添加多维数组中每个段中的所有数字,而不仅仅是手动添加?以前有人告诉我可以使用foreach循环,但我遇到了麻烦 我试图让它显示每个校园的课程注册总数,然后是每门课程的学生总数 我觉得答案就在眼前,但我不确定 <? $campus = array(); $campus[1]['course1'] = 5; // <---- Number enrolled $campus[1]['course2'] = 15; $campus[1]['course3'] =
<?
$campus = array();
$campus[1]['course1'] = 5; // <---- Number enrolled
$campus[1]['course2'] = 15;
$campus[1]['course3'] = 22;
$campus[1]['course4'] = 21;
$campus[1]['course5'] = 12;
$campus[1]['course6'] = 25;
$campus[1]['course7'] = 16;
$campus[1]['course8'] = 11;
$campus[1]['course9'] = 17;
$campus[1]['course10'] = 23;
$campus[2]['course1'] = 11;
$campus[2]['course2'] = 23;
$campus[2]['course3'] = 51;
$campus[2]['course4'] = 25;
$campus[2]['course5'] = 32;
$campus[2]['course6'] = 35;
$campus[2]['course7'] = 32;
$campus[2]['course8'] = 52;
$campus[2]['course9'] = 25;
$campus[2]['course10'] = 21;
$campus[3]['course1'] = 2;
$campus[3]['course2'] = 12;
$campus[3]['course3'] = 32;
$campus[3]['course4'] = 32;
$campus[3]['course5'] = 25;
$campus[3]['course6'] = 26;
$campus[3]['course7'] = 29;
$campus[3]['course8'] = 12;
$campus[3]['course9'] = 15;
$campus[3]['course10'] = 11;
echo "<pre>";
print_r($campus);
echo "<br/>";
foreach($campus as $key=>$value)
{
}
应该这样做。您可以使用PHP函数,将您提供给它的数组的值相加
使用array\u sum()
在数组中添加数字,并使用array\u map()
将其应用于$campus
数组的每个元素
$totcount = 0;
$count = array();
foreach($campus as $key=>$value)
{
foreach($value as $value1 => $value2)
{
$count[$value1]+=$value2;
$totcount++;
}
}
print_r($count);
echo "<br><br><br>". $totcount;
$totcount=0;
$count=array();
foreach($key=>$value)
{
foreach($value为$value1=>$value2)
{
$count[$value1]+=$value2;
$totcount++;
}
}
打印(计数);
回声“
”$总数;
看看:
<?php
$cowboyfile = "COWBOY.TXT";
$data = array();
$data[] = "Colt Peacemaker, 12.20";
$data[] = "Holster, 2.00";
$data[] = "Levi Strauss Jeans, 1.35";
$data[] = "Saddle, 40.00";
$data[] = "Stetson, 10.00";
// Writing in the File
file_put_contents($cowboyfile, implode("\r\n", $data));
// Displaying all items above $10
$items = file($cowboyfile);
$item_filtred = array();
for ($i = 0; $i < count($items); $i++)
{
$item = $items[$i];
$item_price = substr($items[$i], strpos($item, ',') + 1);
if ($item_price >= 10)
{
$item_filtred[] = $item;
}
}
print_r($item_filtred);
很抱歉,您发布了一个问题:“如何检查数组的内容以查看它们是否有数字?”
是array\u sum
你在找什么?foreach($key=>$values){echo$key',->',array\u sum($values);}
对于每门课程的学生总数,你可以使用array\u column()和array\u sum()(如果你使用的是PHP>=5.5),否则就用array\u map()代替array\u column(),我不知道,你会怎么用它呢?我看了一下它,我可以看到它在做什么。当我尝试这样做时,我最终得到了这个错误-注意:C:\xampp\htdocs\Work\arrays\u courses.php中的数组到字符串转换在第43行,第43行是什么?您不能回显数组,必须使用var\u dump()
查看其中的内容。
$totcount = 0;
$count = array();
foreach($campus as $key=>$value)
{
foreach($value as $value1 => $value2)
{
$count[$value1]+=$value2;
$totcount++;
}
}
print_r($count);
echo "<br><br><br>". $totcount;
$campus = array
(
'1' => array
(
'course1' => 5,
'course2' => 15,
'course3' => 22,
'course4' => 21,
'course5' => 12,
'course6' => 25,
'course7' => 16,
'course8' => 11,
'course9' => 17,
'course10' => 23,
),
'2' => array
(
'course1' => 11,
'course2' => 23,
'course3' => 51,
'course4' => 25,
'course5' => 32,
'course6' => 35,
'course7' => 32,
'course8' => 52,
'course9' => 25,
'course10' => 21,
),
'3' => array
(
'course1' => 2,
'course2' => 12,
'course3' => 32,
'course4' => 32,
'course5' => 25,
'course6' => 26,
'course7' => 29,
'course8' => 12,
'course9' => 15,
'course10' => 11,
),
);
foreach ($campus as $key0 => $value0)
{
// $key0 == (1, 2, 3)
// $value0 == array(course1 => 5, course2 => 15, course3 => 22, ...)
foreach ($value0 as $key1 => $value1)
{
// $key1 == (course1, course2, course3, ...)
// $value1 == (5, 15, 22, ...)
}
}
<?php
$cowboyfile = "COWBOY.TXT";
$data = array();
$data[] = "Colt Peacemaker, 12.20";
$data[] = "Holster, 2.00";
$data[] = "Levi Strauss Jeans, 1.35";
$data[] = "Saddle, 40.00";
$data[] = "Stetson, 10.00";
// Writing in the File
file_put_contents($cowboyfile, implode("\r\n", $data));
// Displaying all items above $10
$items = file($cowboyfile);
$item_filtred = array();
for ($i = 0; $i < count($items); $i++)
{
$item = $items[$i];
$item_price = substr($items[$i], strpos($item, ',') + 1);
if ($item_price >= 10)
{
$item_filtred[] = $item;
}
}
print_r($item_filtred);