PHP 学习笔记(一)

本文由码农网 –
小峰原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!

本文实例讲述了PHP按指定键值对二维数组进行排序的方法。分享给大家供大家参考,具体如下:

为了拓展知识面,学习了一些PHP的相关知识,汇总、分享。

PHP数组排序可以用array_multisort方法实现,但是如果是多维数组,并且我们要指定数组中的某个字段进行排序,那么这就需要我们自己写方法实现了。本文分享了一段PHP指定字段的多维数组排序方法的代码,这段代码可实现根据field字段对数组进行排序。

问题:

一、PHP echo 和 print 语句
1、echo 和 print 之间的差异:
        echo - 能够输出一个以上的字符串
        print - 只能输出一个字符串,并始终返回 1
提示:echo 比 print 稍快,因为它不返回任何值。
2、echo 是一个语言结构,有无括号均可使用:echo 或 echo()。

二、字符串
1、字符串可以是引号内的任何文本。您可以使用单引号或双引号:
例如:$x = "Hello world!";  $x = 'Hello world!'; 都可以

三、
1、整数可以用三种格式规定:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)
2、浮点数是有小数点或指数形式的数字。
3、逻辑是 true 或 false。

四、
1、数组在一个变量中存储多个值。 var_dump() 会返回变量的数据类型和值:
例如:<?php 
     $cars=array("Volvo","BMW","SAAB");
     var_dump($cars);
     ?>
输出结果:array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(4) "SAAB" }

五、PHP对象
1、对象是存储数据和有关如何处理数据的信息的数据类型。
在 PHP 中,必须明确地声明对象。
首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:

输入:
class Car
{
    var $color;
    function Car($color="green") {
      $this->color = $color;
    }
    function what_color() {
      return $this->color;
    }
}

function print_vars($obj) {
   foreach (get_object_vars($obj) as $prop => $val) {
     echo "t$prop = $valn";
   }
}

// instantiate one object
$herbie = new Car("white");

// show herbie properties
echo "herbie: Propertiesn";
print_vars($herbie);

?>  

输出:herbie: Properties color = white
function sortArrByField(&$array, $field, $desc = false){
  $fieldArr = array();
  foreach ($array as $k => $v) {
    $fieldArr[$k] = $v[$field];
  }
  $sort = $desc == false ? SORT_ASC : SORT_DESC;
  array_multisort($fieldArr, $sort, $array);
}

有数组:复制代码
代码如下:array(0=>array,1=>array;要求根据数组的price这个字段进行排序。


以上就是PHP指定字段的多维数组排序方法,希望这段PHP代码对你带来帮助。

实现代码如下:

PHP — 字符串函数

$value){ $id[$key] = $value['id']; $price[$key] = $value['price'];}array_multisort($price,SORT_NUMERIC,SORT_DESC,$id,SORT_STRING,SORT_ASC,$array);echo '';print_r;echo '
1、strlen() 函数返回字符串的长度,以字符计。

<?php
echo strlen("Hello world!");
?>    
输出:12
提示:strlen() 常用于循环和其他函数,来确定字符串何时结束。
例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环。

2、strpos() 函数用于检索字符串内指定的字符或文本。
<?php
echo strpos("Hello world!","world");
?>
输出:6
提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。

‘;?>


Array([0] => Array([id] => 2[price] => 70)[1] => Array([id] => 1[price] => 50)[2] => Array([id] => 3[price] => 30)[3] => Array([id] => 4[price] => 20))

PHP 常量

希望本文所述对大家PHP程序设计有所帮助。

常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。

一、设置 PHP 常量
如需设置常量,请使用 define() 函数 - 它使用三个参数:
1、首个参数定义常量的名称
2、第二个参数定义常量的值
3、可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":

例一:
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
echo "<br>";   //用来换行
echo greeting;
?>
输出:Welcome to W3School.com.cn!
     greeting

例二:
<?php
define("GREETING", "Welcome to W3School.com.cn!", true);
echo GREETING;
echo "<br>";  //用来换行
echo greeting;
?>
输出:Welcome to W3School.com.cn!
     Welcome to W3School.com.cn!

PHP— 条件语句

在 PHP 中,我们可以使用以下条件语句:

  • if 语句 – 如果指定条件为真,则执行代码
  • if…else 语句 – 如果条件为 true,则执行代码;如果条件为
    false,则执行另一端代码
  • if…elseif….else 语句 – 选择若干段代码块之一来执行
  • switch 语句 – 语句多个代码块之一来执行

PHP — 循环语句

在 PHP 中,我们有以下循环语句:

  • while – 只要指定条件为真,则循环代码块

<?php 
$x=1; 
while($x<=5) {
  echo "这个数字是:$x <br>";
  $x++;
} 
?>
  • do…while – 先执行一次代码块,然后只要指定条件为真则重复循环
  • for – 循环代码块指定次数

<?php 
for ($x=0; $x<=10; $x++) {
  echo "数字是:$x <br>";
} 
?>
  • foreach – 遍历数组中的每个元素并循环代码块

<?php 
$colors = array("red","green","blue","yellow"); 
foreach ($colors as $value) {
   echo "$value <br>";
}
?>

PHP — 函数
1、用户定义的函数声明以关单 “function” 开头:

<?php
function writeMsg() {   //函数的定义
   echo "Hello world!";
}
writeMsg();   //函数的调用
?>

注释:函数名能够以字母或下划线开头(而非数字)。
注释:函数名对大小写不敏感。
提示:函数名应该能够反映函数所执行的任务。

2、带参函数

例一:单个参数
<?php
function familyName($fname) {
  echo "$fname Zhang.<br>";
}
familyName("Li");
familyName("Hong");
?>
打印:Li Zhang.
     Hong Zhang.

例二:多个参数
<?php
function familyName($fname,$year) {
  echo "$fname Zhang. Born in $year <br>";
}

familyName("Li","1975");
familyName("Hong","1978");
?>
打印:Li Zhang. Born in 1975 
     Hong Zhang. Born in 1978 

例三:带默认值
<?php
function setHeight($minheight=50) {
   echo "高度是:$minheight <br>";
}
setHeight(350);
setHeight();   //未输入参数,使用默认参数
?>
输出:高度是:350 
高度是:50 

例四:带返回值,使用 return 语句:
<?php
function sum($x,$y) {
   $z=$x+$y;
   return $z;
}
echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) . 
?>

PHP — 数组
在 PHP 中, array() 函数用于创建数组:
在 PHP 中,有三种数组类型:

  • 索引数组 – 带有数字索引的数组
    一、两种创建索引数组的方法:
    1、 索引是自动分配的(索引从 0 开始):
    $cars=array(“Volvo”,”BMW”,”SAAB”);
    2、也可以手动分配索引:
    $cars[0]=”Volvo”;
    $cars[1]=”BMW”;
    $cars[2]=”SAAB”;
    二、获得数组的长度 – count() 函数
    <?php
    $cars=array(“Volvo”,”BMW”,”SAAB”);
    echo count($cars);
    ?>
    打印:3
    三、遍历索引数组
    <?php
    $cars=array(“Volvo”,”BMW”,”SAAB”);
    $arrlength=count($cars);
    for($x=0;$x<$arrlength;$x++) {
    echo $cars[$x];
    echo “
    “; //换行
    }
    ?>
  • 关联数组 – 带有指定键的数组
    1、关联数组是使用您分配给数组的指定键的数组。
    2、有两种创建关联数组的方法:
    方法一:
    $age=array(“Peter”=>”35″,”Ben”=>”37″,”Joe”=>”43”);
    方法二
    $age[‘Peter’]=”35″;
    $age[‘Ben’]=”37″;
    $age[‘Joe’]=”43″;
  • 多维数组 – 包含一个或多个数组的数组
    后续学习

PHP — 数组的排序函数
在本节中,我们将学习如下 PHP 数组排序函数:

  • sort() – 以升序对数组排序
  • rsort() – 以降序对数组排序
  • asort() – 根据值,以升序对关联数组进行排序
  • ksort() – 根据键,以升序对关联数组进行排序
  • arsort() – 根据值,以降序对关联数组进行排序
  • krsort() – 根据键,以降序对关联数组进行排序

例一:对数组进行排序
<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars);   //升序排列

$clength=count($cars);  //打印函数
for($x=0;$x<$clength;$x++)
   {
   echo $cars[$x];
   echo "<br>";
   }
?>

例二:根据值对数组进行排序
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
asort($age); // 排序

foreach($age as $x=>$x_value)
    {
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
    }
?>

例三:根据键对数组进行排序
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
ksort($age); // 排序

foreach($age as $x=>$x_value)
    {
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
    }
?>

PHP — 全局变量 (这里介绍的并不全面)
PHP
中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行
global $variable; 就可以访问它们。

  • $GLOBALS 这种全局变量用于在 PHP
    脚本中的任意位置访问全局变量(从函数或方法中均可)。
    PHP 在名为 $GLOBALS[index]
    的数组中存储了所有全局变量。变量的名字就是数组的键。

<?php 
$x = 75; 
$y = 25;
function addition() { 
  $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];   //$GLOBALS[ ] 全局变量 
}
addition(); 
echo $z; 
?>
  • $_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息
  • $_REQUEST 用于收集 HTML 表单提交的数据。

下面的例子展示了一个包含输入字段及提交按钮的表单。
当用户通过点击提交按钮来提交表单数据时, 表单数据将发送到 <form> 标签的 action 属性中指定的脚本文件。
在这个例子中,我们指定文件本身来处理表单数据。如果您需要使用其他的 PHP 文件来处理表单数据,请修改为您选择的文件名即可。
然后,我们可以使用超级全局变量 $_REQUEST 来收集 input 字段的值:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php 
$name = $_REQUEST['fname']; 
echo $name; 
?>

发表评论

电子邮件地址不会被公开。 必填项已用*标注