Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在多维数组中添加数字_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 在多维数组中添加数字

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'] =

有没有一种更快的方法来添加多维数组中每个段中的所有数字,而不仅仅是手动添加?以前有人告诉我可以使用foreach循环,但我遇到了麻烦

我试图让它显示每个校园的课程注册总数,然后是每门课程的学生总数

我觉得答案就在眼前,但我不确定

<?

$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);