知识点总结

1、与时间相关的函数

Microtime()返回当前的Unix时间戳和微妙数

例如:

echo (microtime()); //0.01800200 1480901232;

echo microtime(true);//1480901178.711;

time()返回当前的Unix时间戳

echo time();//1480901232;

Date(“Y-m-d H:i:s”,$time)格式化一个时间戳括号内填一个时间戳,$time要格式化的时间戳

echo date('Y-m-d H:i:s','1480901232');//后面的参数是一个时间戳,如果不填默认为当前的时间戳

strtotime('2016-12-05 09:27:12');将时间格式的日期转化为时间戳

2PHP中全局变量的定义及作用域

PHP中的在函数外部定义的变量在函数内部不能访问,

要是用global进行定义

将一个变量变为全局变量使用$_GLOGAL[]


<?php 

   global $name;//通过global定义的全局变量,在函数内部能被访问到

   function animal() {

         $name ='fish';

         echo $name;

     } 

   animal();

$GLOBALS['_beginTime'] = microtime(TRUE);//使用$_GLOBAL[]定义一个全局变量


3.php中const和define的区别(主要的区别还是是否能在类中定义)

defined('THINK_PATH')   or define('THINK_PATH',__DIR__.'/');判断常量是否被定义,如果没有被定义,则定义一个常量

(1).const用于类成员变量的定义,一经定义,不可修改。define不可用于类成员变量的定义,可用于全局常量。

(2).const可在类中使用,define不能。

(3).const不能在条件语句中定义常量。

4、一些函数及常量的使用

魔术常量:
   __FILE__ 获得当前文件的全部路径(包括文件名)
   __DIR__ 获得当前文件所在的目录
   dirname(__FILE__ )获得某个文件所在的目录,和__DIR__的效果是一样的
一些函数的使用:

与字符串相关的函数:

strpos(string,find) 函数查找字符串在另一字符串中第一次出现的位置。

string为字符串,find为要查找的字符串

返回值:返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。

查找 "php" 在字符串中第一次出现的位置:

<?php
echo strpos("You love php, I love php too!","php");
?>
explode("$a",$str) 函数把字符串打散为数组。

参数说明:$a为规定在哪里分割字符串。,$str为要分割的字符串

$str = "Hello world. I love Shanghai!";
print_r (explode(" ",$str));
?>  
返回结果:

  Array ( [0] => Hello [1] => world. [2] => I [3] => love [4] => Shanghai! )

该例中在 “”处将字符串分割成数组

strstr()函数函数搜索字符串在另一字符串中的第一次

echo strstr("I love Shanghai!","Shanghai",$a);
?>
结果:

Shanghai!


$a默认为false,

如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分。

返回字符串的剩余部分(从匹配点)。如果未找到所搜索的字符串,则返回 FALSE。

substr(string,start,length )函数返回字符串的一部分。

string,为要截取的字符串,start为要截取的字符串的开始的位置,length为要截取的长度

start 必需。规定在字符串的何处开始。

正数:从字符串的指定位置开始

负数 - 在从字符串结尾开始的指定位置开始
0从字符串第一个位置开始截取
length:可选,默认是截取到字符串的最后

正数:从开始位置开始,返回长度

echo substr("Hello world",10)."<br>";返回结果:d。从字符串第10位开始截取,截取到最后
echo substr("Hello world",-1)."<br>";返回d,从字符串末尾一位开始截取,截取到最后
echo substr("Hello world",0,-1)."<br>";返回hello worl,从字符串0位开始截取,截取到末尾的第一位
str_repeat()函数,把字符串重复置顶的次数

str_repeat("shanghai",2);结果:shanghai shanghai

str_replace(find,replace,string)函数,string也可以为数组

find为要查找的字符串

replace为要替换成的字符串

string为要在哪里查找

<?php
echo str_replace("world","Shanghai","Hello world!");
?>
  
结果:hello shanghai  就是将hello world 中的world替换为上海

strlen()成功返回字符串的长度,失败返回false

<?php echo strlen(“shanghai”)结果为:8

strtolower()把字符串转换为小写
strtoupper()把字符串转换为大写

trim(string,$a)移除字符串两侧的空白字符和其他预定义字符,string为目标字符串,$a可选,要移除的两侧的字符串,如果不填,默认删除,回车空格制表符

ltrim()移除字符串左侧的空白字符和其他预定义字符

rtrim()移除字符串右侧的空白字符和其他预定义字符

返回字符串的剩余部分(从匹配点)。如果未找到所搜索的字符串,则返回 FALSE。
负数 - 在从字符串结尾开始的指定位置开始
0从字符串第一个位置开始截取
substr_count()计算 "Shanghai" 在字符串中出现的次数:

<?php

echo substr_count("I love Shanghai. Shanghai is the biggest city in china.","Shanghai");

?>

number_format() 函数通过千位分组来格式化数字。

注释:该函数支持一个、两个或四个参数(不是三个)。

number

必需。要格式化的数字。

如果未设置其他参数,则数字会被格式化为不带小数点且以逗号(,)作为千位分隔符。

decimals

可选。规定多少个小数。如果设置了该参数,则使用点号(.)作为小数点来格式化数字。

decimalpoint

可选。规定用作小数点的字符串。

separator

可选。规定用作千位分隔符的字符串。仅使用该参数的第一个字符。比如 "xxx" 仅输出 "x"

注释:如果设置了该参数,那么所有其他参数都是必需的。

例如:

  <?php

echo number_format("5000000")."<br>";

echo number_format("5000000",2)."<br>";

echo number_format("5000000",2,",",".");

?>

结果:

5,000,000  一个参数,以逗号做为千分位的分割符
5,000,000.00有第二个参数时,规定末尾有几位小数,使用点(.)号做为小数点来格式化数字
5.000.000,00

与数组相关的函数

array_keys() 函数返回包含数组中所有键名的一个新数组。
<?php
$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
print_r(array_keys($a));
?>
结果:
Array ( [0] => Volvo [1] => BMW [2] => Toyota )
还可以指定固定的值得键
<?php
$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
print_r(array_keys($a,"Highlander"));
?>
结果: Array ( [0] => Toyota )
in_array() 函数搜索数组中是否存在指定的值。
判断Mark这个值在$people这个数组中是否存在
<?php
$people = array("Bill", "Steve", "Mark", "David");
if (in_array("Mark", $people))
  {
  echo "匹配已找到";
  }
else
  {
  echo "匹配未找到";
  }
?>
count($arr,1) 函数返回数组中元素的数目。参数1可选

count() 函数计算数组中的单元数目或对象中的属性个数。

对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。

如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。


<?php
$cars=array
  (
  "Volvo"=>array
  (
  "XC60",
  "XC90"
  ),
  "BMW"=>array
  (
  "X3",
  "X5"
  ),
  "Toyota"=>array
  (
  "Highlander"
  )
  );

echo "常规计数:" . count($cars)."<br>";
echo "递归计数:" . count($cars,1);
?>
结果: 常规计数:3
递归计数:8
sort函数对索引数组进行升序排序。(根据键值)
<?php
$cars=array("Volvo","BMW","Toyota");
sort($cars);
?>
rsort
函数对索引数组进行降序排序。(根据键值)
asort对关联数组按照键值进行升序排序。
arsort
对关联数组按照键值进行降序排序。

array_key_exists() 函数检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。
array_reverse() 函数以相反的元素顺序返回数组。
对关联数组按照键值进行降序排序。
数据库相关的知识
查询表的字段名字

select COLUMN_NAME from information_schema.COLUMNS where table_name = 'zxzq_wallet' and table_schema = 'scoredb';

解释:查询  COLUMN_NAME(这个字符) 从information_schema.COLUMNS(information数据库的COLUMNS表) 条件是table_name = 'zxzq_wallet' and table_schema = 'scoredb

select COLUMN_NAME,column_comment from INFORMATION_SCHEMA.Columns where table_name='表名' and table_schema='数据库名'

查询数据库的表名

select TABLE_NAME from INFORMATION_SCHEMA.TABLES where table_name like'zxzq_%' and TABLE_SCHEMA='scoredb'" ;

数组中根据某个值进行排序

   根据数组中某个字段值进行排序

$wallet是一个二维数组

$flag=array();

foreach($wallet as $arr2){

    $flag[]=$arr2["member_bankname"];

    }

array_multisort($flag, SORT_DESC, $wallet);

array_multisort — 对多个数组或多维数组进行排序

SORT_ASC - 按照上升顺序排序

SORT_DESC - 按照下降顺序排序

Mysqlleft的使用

  $where .= " AND left(`time`,10) between '$stime' AND '$etime'";

多条件搜索时对时间的的截取,使用left(`要截取的字段的名字`,10)从左边开始截,截取十位。

M(表名)->getDbFields()得到一个表的字段的名字
删除数组中为空的那一项

foreach ($tables as $key => $value) {

     if( $value['table_comment'] == '' ) {

               unset( $tables[$key] );   

             }  

}

Array_filter()顾虑一维数组中为空的那一项

连表查询

Leftjoin左连接,以左表为主来连接右边,会列出左表的所有字段,右边表没有的填null,

INNER JOIN(相当于后边跟两张表的名字,但是连表查询用on,而关联两张表用where)

NNER JOIN 用于取得两个表中存在连接匹配关系的记录

SELECT article.aid,article.title,user.username FROM article INNER JOIN user ON article.uid = user.uid

等同于:

SELECT article.aid,article.title,user.username FROM article,user WHERE article.uid = user.uid



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值