如何使用 php 的循环和数组
how to use looping and array with php
我是编程新手php,我有这样的数据库输出查询数据
name activity payment
english activ A 20
english activ B 25
english activ c 30
biology activ d 50
biology activ e 60
但我想这样显示输出:
name activity payment
english activ A 20
activ B 25
activ c 30
biology activ d 50
activ e 60
逻辑程序如何使用PHP同名只显示一个名字?
你能解决这个问题吗?
数据库将显示与
相同的名称
name activity payment
english activ A 20
english activ B 25
english activ c 30
biology activ d 50
biology activ e 60
但是如果你想将记录显示为
name activity payment
english activ A 20
activ B 25
activ c 30
biology activ d 50
activ e 60
您可以在 php
中执行此操作
例如
$datas = $fetched_data; // $fetched_data store all data which is selected from database
// now in php use foreach loop
$previous_colm = "";
foreach($datas as $data){
if($previous_colm == $data['name']){
// echo without printing column name again
echo $data['activity']." ".$data['payment'];
}else{
// echo with new column name
echo echo $data['name']." ".$data['activity']." ".$data['payment'];
}
$previous_colm = $data['name'];
}
现在这将输出与您想要的相同...!!!
$arr = array(
array('name' => 'english', 'activity' => 'activ A', 'payment' => 20),
array('name' => 'english', 'activity' => 'activ B', 'payment' => 25),
array('name' => 'english', 'activity' => 'activ c', 'payment' => 30),
array('name' => 'biology', 'activity' => 'activ d', 'payment' => 50),
array('name' => 'biology', 'activity' => 'activ e', 'payment' => 60),
);
$different_names = get_different_names($arr);
echo "Name Activity Payment";
display($different_names, $arr);
function display($different_names, $arr) {
foreach($different_names as $name) {
foreach($arr as $row) {
if($row['name'] == $name)
echo "</br> {$row['name']} {$row['activity']} {$row['payment']} ";
}
}
}
function get_different_names($arr) {
$different_names = array();
foreach($arr as $row) {
if(!in_array($row['name'], $different_names))
$different_names[] = $row['name'];
}
return $different_names;
}
p.s。
Zebi Rajpot 的解决方案很好。但我认为如果结果未按 name.
排序,它不会产生所需的输出
我是编程新手php,我有这样的数据库输出查询数据
name activity payment
english activ A 20
english activ B 25
english activ c 30
biology activ d 50
biology activ e 60
但我想这样显示输出:
name activity payment
english activ A 20
activ B 25
activ c 30
biology activ d 50
activ e 60
逻辑程序如何使用PHP同名只显示一个名字?
你能解决这个问题吗?
数据库将显示与
相同的名称name activity payment
english activ A 20
english activ B 25
english activ c 30
biology activ d 50
biology activ e 60
但是如果你想将记录显示为
name activity payment
english activ A 20
activ B 25
activ c 30
biology activ d 50
activ e 60
您可以在 php
中执行此操作例如
$datas = $fetched_data; // $fetched_data store all data which is selected from database
// now in php use foreach loop
$previous_colm = "";
foreach($datas as $data){
if($previous_colm == $data['name']){
// echo without printing column name again
echo $data['activity']." ".$data['payment'];
}else{
// echo with new column name
echo echo $data['name']." ".$data['activity']." ".$data['payment'];
}
$previous_colm = $data['name'];
}
现在这将输出与您想要的相同...!!!
$arr = array(
array('name' => 'english', 'activity' => 'activ A', 'payment' => 20),
array('name' => 'english', 'activity' => 'activ B', 'payment' => 25),
array('name' => 'english', 'activity' => 'activ c', 'payment' => 30),
array('name' => 'biology', 'activity' => 'activ d', 'payment' => 50),
array('name' => 'biology', 'activity' => 'activ e', 'payment' => 60),
);
$different_names = get_different_names($arr);
echo "Name Activity Payment";
display($different_names, $arr);
function display($different_names, $arr) {
foreach($different_names as $name) {
foreach($arr as $row) {
if($row['name'] == $name)
echo "</br> {$row['name']} {$row['activity']} {$row['payment']} ";
}
}
}
function get_different_names($arr) {
$different_names = array();
foreach($arr as $row) {
if(!in_array($row['name'], $different_names))
$different_names[] = $row['name'];
}
return $different_names;
}
p.s。 Zebi Rajpot 的解决方案很好。但我认为如果结果未按 name.
排序,它不会产生所需的输出