- 介绍
- 本地环境安装
- 安装 WNMP 环境
- 代码编辑器选择
- 语法
- 变量与常量
- 常见输出函数
- 数据类型之四种标量类型
- 数据类型之三种复合类型
- 数据类型之两种特殊类型
- Operators:运算符
- 流程控制:条件判断语句
- 流程控制:循环语句
- 流程控制:中止语句
- 函数
- 类和对象:基本概念
- 类和对象:类结构
- 类和对象:面向对象
- 类和对象:三种特殊类
- 类和对象
- 类和对象:Trait
- 类和对象:魔术方法
- 命名空间
- 【实战】PHP表单
-
String
- addcslashes()
- addslashes()
- bin2hex()
- chop()
- chr()
- chunk_split()
- convert_cyr_string()
- convert_uudecode()
- convert_uuencode()
- count_chars()
- crc32()
- crypt()
- echo
- explode()
- fprintf()
- get_html_translation_table()
- hebrev()
- hebrevc()
- hex2bin()
- htmlentities()
- htmlspecialchars()
- htmlspecialchars_decode()
- html_entity_decode()
- implode()
- join()
- lcfirst()
- levenshtein()
- localeconv()
- ltrim()
- md5()
- md5_file()
- metaphone()
- money_format()
- nl2br()
- nl_langinfo()
- number_format()
- ord()
- parse_str()
- printf
- quoted_printable_decode()
- quoted_printable_encode()
- quotemeta()
- rtrim()
- setlocale()
- sha1()
- sha1_file()
- similar_text()
- soundex()
- sprintf()
- sscanf()
- strcasecmp()
- strchr()
- strcmp()
- strcoll()
- strcspn()
- stripcslashes()
- stripos()
- stripslashes()
- strip_tags()
- stristr()
- strlen()
- strnatcasecmp()
- strnatcmp()
- strncasecmp()
- strncmp()
- strpbrk()
- strpos()
- strrchr()
- strrev()
- strripos()
- strrpos()
- strspn()
- strstr()
- strtok()
- strtolower()
- strtoupper()
- strtr()
- str_getcsv()
- str_ireplace()
- str_pad()
- str_repeat()
- str_replace()
- str_rot13()
- str_shuffle()
- str_split()
- str_word_count()
- substr()
- substr_compare()
- substr_count()
- substr_replace()
- trim()
- ucfirst()
- ucwords()
- vfprintf()
- vprintf()
- vsprintf()
- wordwrap()
-
Array
- array()
- array_change_key_case()
- array_chunk()
- array_column()
- array_combine()
- array_count_values()
- array_diff()
- array_diff_assoc()
- array_diff_key()
- array_diff_uassoc()
- array_diff_ukey()
- array_fill()
- array_fill_keys()
- array_filter()
- array_flip()
- array_intersect()
- array_intersect_assoc()
- array_intersect_key()
- array_intersect_uassoc()
- array_intersect_ukey()
- array_keys()
- array_key_exists()
- array_key_first()
- array_key_last()
- array_map()
- array_merge()
- array_merge_recursive()
- array_multisort()
- array_pad()
- array_pop()
- array_product()
- array_push()
- array_rand()
- array_reduce()
- array_replace()
- array_replace_recursive()
- array_reverse()
- array_search()
- array_shift()
- array_slice()
- array_splice()
- array_sum()
- array_udiff()
- array_udiff_assoc()
- array_udiff_uassoc()
- array_uintersect()
- array_uintersect_assoc()
- array_uintersect_uassoc()
- array_unique()
- array_unshift()
- array_values()
- array_walk()
- array_walk_recursive()
- arsort()
- asort()
- compact()
- count()
- current()
- each()
- end()
- extract()
- in_array()
- key()
- key_exists()
- krsort()
- ksort()
- list()
- natcasesort()
- natsort()
- next()
- pos()
- prev()
- range()
- reset()
- rsort()
- shuffle()
- sizeof()
- sort()
- uasort()
- uksort()
- usort()
-
File
- basename()
- chgrp()
- chmod()
- chown()
- clearstatcache()
- copy()
- dirname()
- diskfreespace()
- disk_free_space()
- disk_total_space()
- fclose()
- feof()
- fflush()
- fgetc()
- fgetcsv()
- fgets()
- fgetss()
- file()
- fileatime()
- filectime()
- filegroup()
- fileinode()
- filemtime()
- fileowner()
- fileperms()
- filesize()
- filetype()
- file_exists()
- file_get_contents()
- file_put_contents()
- flock()
- fnmatch()
- fopen()
- fpassthru()
- fputcsv()
- fputs()
- fread()
- fscanf()
- fseek()
- fstat()
- ftell()
- ftruncate()
- fwrite()
- glob()
- is_dir()
- is_executable()
- is_file()
- is_link()
- is_readable()
- is_uploaded_file()
- is_writable()
- is_writeable()
- lchgrp()
- lchown()
- link()
- linkinfo()
- lstat()
- mkdir()
- move_uploaded_file()
- parse_ini_file()
- parse_ini_string()
- pathinfo()
- pclose()
- popen()
- readfile()
- readlink()
- realpath()
- realpath_cache_get()
- realpath_cache_size()
- rename()
- rewind()
- rmdir()
- set_file_buffer()
- stat()
- symlink()
- tempnam()
- tmpfile()
- touch()
- umask()
- unlink()
-
Datetime
- checkdate()
- date()
- date_add()
- date_create()
- date_create_from_format()
- date_date_set()
- date_default_timezone_get()
- date_default_timezone_set()
- date_diff()
- date_format()
- date_get_last_errors()
- date_interval_create_from_date
- date_interval_format()
- date_isodate_set()
- date_modify()
- date_offset_get()
- date_parse()
- date_parse_from_format()
- date_sub()
- date_sunrise()
- date_sunset()
- date_sun_info()
- date_timestamp_get()
- date_timestamp_set()
- date_timezone_get()
- date_timezone_set()
- date_time_set()
- getdate()
- gettimeofday()
- gmdate()
- gmmktime()
- gmstrftime()
- idate()
- localtime()
- microtime()
- mktime()
- strftime()
- strptime()
- strtotime()
- time()
- timezone_abbreviations_list()
- timezone_identifiers_list()
- timezone_location_get()
- timezone_name_from_abbr()
- timezone_name_get()
- timezone_offset_get()
- timezone_open()
- timezone_transitions_get()
- timezone_version_get()
-
Filter
-
HTTP
-
cURL
- curl_close()
- curl_copy_handle()
- curl_errno()
- curl_error()
- curl_escape()
- curl_exec()
- curl_file_create()
- curl_getinfo()
- curl_init()
- curl_multi_add_handle()
- curl_multi_close()
- curl_multi_errno()
- curl_multi_exec()
- curl_multi_getcontent()
- curl_multi_info_read()
- curl_multi_init()
- curl_multi_remove_handle()
- curl_multi_select()
- curl_multi_setopt()
- curl_multi_strerror()
- curl_pause()
- curl_reset()
- curl_setopt()
- curl_setopt_array()
- curl_share_close()
- curl_share_errno()
- curl_share_init()
- curl_share_setopt()
- curl_share_strerror()
- curl_strerror()
- curl_unescape()
- curl_version()
-
PDO
-
PDOStatement
常见输出函数
在前面的教程中,我们经常会用到echo
方法,它是一种输出方法,类似的还有print
。并且在后面的教程中也会接触到var_dump()
函数,它输出变量的值与数据类型。为避免大家在后面的教程中云里雾里,这里将这三个方法集中做一次说明。
echo
在前面的教程里,我们经常会用到echo
方法,它表示输出一个或多个字符串。严格意义来说,echo
并不属于函数,而是PHP 特定的语言构造器,因此,它也不像函数一样需要使用小括号来传递参数,单引号、双引号都可以。如果想传递多个参数,就不允许使用小括号。
下面的代码给我们揭示了echo
的用法:
<?php
// 使用小括号传入字符串
echo('极速数据');// 输出:极速数据
echo PHP_EOL;// PHP_EOL常量相当于换行符,这里仅用于隔开输出结果
// 使用单引号传入字符串
echo 'https://www.jisuapi.com/';// 输出:https://www.jisuapi.com/
echo PHP_EOL;
// 使用双引号传入字符串
echo "PHP教程";// 输出:PHP教程
echo PHP_EOL;
// 使用点.连接符拼接多个参数
echo '第一个 ' . '第二个 ' . "第三个参数 ";// 输出:第一个 第二个 第三个参数
echo PHP_EOL;
// 使用逗号,传入多个参数
echo '参数1 ','参数2 ','参数3';// 输出:参数1 参数2 参数3
在 PHP 字符串操作中,点(.)符号是连接符,用于将多个字符串合并在一起。上述代码的第 15 行,相当于向echo
方法传入一个拼接好的参数,相当于echo('第一个 ' . '第二个 ' . "第三个参数 ");
。而逗号(,)用于分隔参数列表,第 19 行代码相当于向echo
方法逐个传入三个参数。
对于echo
拼接字符串而言,使用逗号传递多个参数比较好,因为点连接符在某些运算中具有更高的优先级,某些情况可能会出错,例如下面的代码:
<?php
echo '结果:' . 1 + 2;// 输出:PHP Warning: A non-numeric value encountered
echo PHP_EOL;
echo '结果:' , 1 + 2;// 输出:结果:3
echo PHP_EOL;
echo '结果:' . (1 + 2);// 正确输出。在点运算符优于加号或三目元运算符时,必须使用括号来保证优先级
print
与echo
都是语言结构,并且都输出字符串。但print
与echo
不同的是,print
仅支持传入一个参数,并总是返回1
。
下面的代码展示了print
的用法:
<?php
print('hello,print');// 输出:hello,print
print PHP_EOL;
print '不使用小括号我也可以正确输出';// 输出:不使用小括号我也可以正确输出
print PHP_EOL;
// print '我在错误的','边缘','试探';// 语法错误:无法传入多个参数
var_dump()
与echo
和print
不同,var_dump()
不属于语言结构,而是真正的函数。它可以输出一个或多个变量或者表达式的结构信息(包括数据类型和值),并且没有任何返回值。如果变量是数组,那将按顺序逐个展开,通过缩进来显示数组结构。
下面的代码展示了var_dump()
的用法:
<?php
$str = 'I am a string';
var_dump($str);// 输出:string(13) "I am a string"
传入变量:echo 和 print
上一节中我们详细说明了变量的使用。那么现在我们来看一下变量在echo
和print
方法中如何使用:
<?php
$str = '我是一个字符串';
$num = 2;
$arr = array(
'我是数组的一个元素',
'好巧,我是数组的另一个元素',
'我猜下一个元素是数字',
666,
'楼楼上,你猜对了',
'笔者很想写很多个数组元素',
);
echo '我后面跟了个变量:',$str;// 输出:我后面跟了个变量:我是一个字符串
echo PHP_EOL;
print('我后面跟了个数组元素:' . $arr[2]);// 输出:我后面跟了个数组元素:我猜下一个元素是数字
print(PHP_EOL);
echo "使用双引号可以解析变量:$num";// 输出:使用双引号可以解析变量:2
echo PHP_EOL;
echo "如果我想解析数组元素的话,记得使用一对大括号包裹该元素:{$arr[3]}";// 输出:666
echo PHP_EOL;
传入变量:var_dump()
var_dump()
相比前两个稍显复杂,这里单独进行说明。当不同的变量传入时,var_dump()
将有什么样的表现:
<?php
// var_dump()
$str = '我是一个字符串';// 长度为7,但是var_dump()函数输出的是变量的字节长度,一个中文字符在UTF8中占据3个字节
var_dump($str);// 输出:string(21) "我是一个字符串"
$str = 'I am a string';
var_dump($str);// 输出:string(13) "I am a string"
// 传入数组
$arr = [
'极速数据',
'host'=>'https://www.jisuapi.com/',
'PHP教程'
];
var_dump($arr);
/* 输出:
array(3) {
[0]=>
string(12) "极速数据"
["host"]=>
string(24) "https://www.jisuapi.com/"
[1]=>
string(9) "PHP教程"
}
*/
// 传入多个参数
$str = '极速教程';// 字符串类型
$int = 666;// 整型
$float = 89.0;// 浮点型
$boolean = TRUE;// 布尔型
var_dump($str, $int, $float, $boolean);
/* 输出:
string(12) "极速教程"
int(666)
float(89)
bool(true)
*/
好了,echo
和print
都是很简单常用的输出方法,var_dump()
更是开发调试过程中的“劳模”。更多关于输出的方法和细节将在后续的章节详细介绍。现在让我们迈向下一章:数据类型!