php简单例子
Ⅰ php循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
如果做一个在线的文件管理系统的话,那么首先必须知道怎么读取目录和文件,其实这个功能几行代码就可以实现了。
输出效果:
实现代码:
复制代码
代码如下:
<?php
$dir
=
"D:/";
//要获取的目录
echo
"**********
获取目录下所有文件和文件夹
***********<hr/>";
//先判断指定的路径是不是一个文件夹
if
(is_dir($dir)){
if
($dh
=
opendir($dir)){
while
(($file
=
readdir($dh))!=
false){
//文件名的全路径
包含文件名
$filePath
=
$dir.$file;
//获取文件修改时间
$fmt
=
filemtime($filePath);
echo
"<span
style='color:#666'>(".date("Y-m-d
H:i:s",$fmt).")</span>
".$filePath."<br/>";
}
closedir($dh);
}
}
?>
这只是最基础的效果,弄懂了,想做出其他的需求也很简单了。
Ⅱ 可以列举几个简单的php递归例子吗
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//递归获得角色ID字符串
function explodeRole($roleObj, &$resultStr){
if(0 < count($roleObj->childRoleObjArr)){
foreach($roleObj->childRoleObjArr as $childRoleObj){
if('' == $resultStr){
$resultStr .= "{$childRoleObj->id}";
}else{
$resultStr .= ", {$childRoleObj->id}";
}
explodeRole($childRoleObj, $resultStr);
}
}
}
//递归获取级联角色信息数组
function makeRoleRelation(&$roleObjArr){
foreach($roleObjArr as $item){
$item->childRoleObjArr = getRoleObjArrByParentId($item->id);
if(0 < count($item->childRoleObjArr)){
makeRoleRelation($item->childRoleObjArr);
}
}
}
//通过父角色的id获取子角色信息
function getRoleObjArrByParentId($parentid){
$operCOGPSTRTSysRole = new COGPSTRTSysRole();
$operCOGPSTRTSysRole->setColumn($operCOGPSTRTSysRole->getAllColumn());
$operCOGPSTRTSysRole->setWhere("parentroleid={$parentid}");
$roleObjArr = $operCOGPSTRTSysRole->convResult2ObjArr($operCOGPSTRTSysRole->selectTable());
return isset($roleObjArr)?$roleObjArr:array();
}
php的递归函数用法
一个函数在它的函数体内调用它自身称为递归调用。这种函数称为递归函数。这对于程序员来说,通常有很高的实用价值,常用来将复杂的问题分解为简单的并相同的情况,反复做这种处理直到问题解决。
用递归函数与不用递归函数的区别
示例一:使用静态变量
?
1
2
3
4
5
6
7
8
function test(){
static $dig=0;
if($dig++<10){
echo $dig;
test();
}
}
test();//12345678910
示例二:使用递归函数和循环实现字符串逆转排列
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function unreverse($str){
for($i=1;$i<=strlen($str);$i++){
echo substr($str,-$i,1);
}
}
unreverse("abcdefg");//gfedcbc
function reverse($str){
if(strlen($str)>0){
reverse(substr($str,1));
echo substr($str,0,1);
return;
}
}
reverse("abcdefg");//gfedcbc
递归函数很多时候我们可以循环替代,建议当我们不能用循环替代时再用,因为用循环我们更容易理解,更不容易出错。
php递归函数
php支付递归函数,递归函数就是调用自己本身,这些函数特别适用于浏览动态数据结构,例如树和列表。
几乎没有web应用程序要求使用复杂的数据结构
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
function reversr_r($str)
{
if (strlen($str)>0)
reverse_r(substr($str,1));
echo substr($str,0,1);
return;
}
?>
<?php
function reverse_i($str)
{
for($i=1;$i<=strlen($str);$i++)
{
echo substr($str,-$i,1);
}
}
这个程序清单中实现两个函数,这两个函数都可以相反的顺序打印字符串的内容
函数reversr_r是通过递归实现的,而函数reverse_i()是通过循环实现的
Ⅲ php数组的例子
php 中的数组类型有非常多的用途,因此这里有一些例子展示数组的完整威力。
<?php// this$a = array( 'color' => 'red', 'taste' => 'sweet', 'shape' => 'round', 'name' => 'apple', 4 // key will be 0 );// is completely equivalent with$a['color'] = 'red';$a['taste'] = 'sweet';$a['shape'] = 'round';$a['name'] = 'apple';$a[] = 4; // key will be 0$b[] = 'a';$b[] = 'b';$b[] = 'c';// will result in the array array(0 => 'a' , 1 => 'b' , 2 => 'c'),// or simply array('a', 'b', 'c')?>
例子 11-6. 使用 array()
<?php// Array as (property-)map$map = array( 'version' => 4, 'OS' => 'Linux', 'lang' => 'english', 'short_tags' => true );// strictly numerical keys$array = array( 7, 8, 0, 156, -10 );// this is the same as array(0 => 7, 1 => 8, ...)$switching = array( 10, // key = 0 5 => 6, 3 => 7, 'a' => 4, 11, // key = 6 (maximum of integer-indices was 5) '8' => 2, // key = 8 (integer!) '02' => 77, // key = '02' 0 => 12 // the value 10 will be overwritten by 12 );// empty array$empty = array();?>例子 11-7. 集合
<?php$colors = array('red', 'blue', 'green', 'yellow');foreach ($colors as $color) { echo Do you like $color?/n;}?>上例将输出: Do you like red?Do you like blue?Do you like green?Do you like yellow? 直接改变数组的值在 php 5 中可以通过引用传递来做到。之前的版本需要需要采取别的方法:
例子 11-8. 集合
<?php// php 5foreach ($colors as &$color) { $color = strtoupper($color);}unset($color); /* 确保下面对 $color 的覆盖不会影响到前一个数组单元 */// 之前版本的方法foreach ($colors as $key => $color) { $colors[$key] = strtoupper($color);}print_r($colors);?>上例将输出: Array( [0] => RED [1] => BLUE [2] => GREEN [3] => YELLOW) 本例产生一个基于一的数组。
例子 11-9. 基于一的数组
<?php$firstquarter = array(1 => 'January', 'February', 'March');print_r($firstquarter);?>上例将输出: Array( [1] => 'January' [2] => 'February' [3] => 'March')*/?> 例子 11-10. 填充数组
<?php// fill an array with all items from a directory$handle = opendir('.');while (false !== ($file = readdir($handle))) { $files[] = $file;}closedir($handle);?>数组是有序的。也可以使用不同的排序函数来改变顺序。更多信息参见数组函数。可以用 count() 函数来数出数组中元素的个数。
例子 11-11. 数组排序
<?phpsort($files);print_r($files);?>因为数组中的值可以为任意值,也可是另一个数组。这样可以产生递归或多维数组。
例子 11-12. 递归和多维数组
<?php$fruits = array ( fruits => array ( a => orange, b => banana, c => apple ), numbers => array ( 1, 2, 3, 4, 5, 6 ), holes => array ( first, 5 => second, third ) );// Some examples to address values in the array aboveecho $fruits[holes][5]; // prints secondecho $fruits[fruits][a]; // prints orangeunset($fruits[holes][0]); // remove first// Create a new multi-dimensional array$juices[apple][green] = good;?>需要注意数组的赋值总是会涉及到值的拷贝。需要在复制数组时用引用符号(&)。
<?php$arr1 = array(2, 3);$arr2 = $arr1;$arr2[] = 4; // $arr2 is changed, // $arr1 is still array(2,3)$arr3 = &$arr1;$arr3[] = 4; // now $arr1 and $arr3 are the same?>
Ⅳ php: 到底什么是析构函数,举个简单例子加以说明!什么时候会用到
和
构造函数
是一对
析构函数
:
对象销毁(或者注销)的时候执行
比如定义了一个class
a
如果
令$a=NULL;则析构函数执行。
Ⅳ PHP实现的pdo连接数据库并插入数据功能简单示例
本文实例讲述了PHP实现的pdo连接数据库并插入数据功能。分享给大家供大家参考,具体如下:
创建配置文件
pdo_config.php
<?php
$db_Type
=
"mysql";//数据库类型
$host
=
"localhost";//主机名
$dbName
=
"test";//数据库名
$userName
=
"root";//用户名
$password
=
"root";//密码
$dsn
=
"{$db_Type}:host={$host};dbname={$dbName}";
?>
pdo插入数据库
pdo_insert.php
<?php
header('Content-type:text/html;
charset=utf-8');
require
'pdo_config.php';
try{
$pdo
=
new
PDO
($dsn,$userName,$password);//创建一个连接对象
$pdo->exec('set
names
utf8');//设置编码
$sql
=
"INSERT
student
(name,email)
VALUES
('李四','[email protected]')";
$pdo->exec($sql);
}catch
(PDOException
$e){
die('操作失败'.$e->getMessage());
}
//关闭连接
$pdo
=
null;
?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:关于php连接mssql:pdo
odbc
sql
serverPHP5中使用PDO连接数据库的方法PHP中PDO连接数据库中各种DNS设置方法小结ThinkPHP框架基于PDO方式连接数据库操作示例PHP使用ODBC连接数据库的方法tp5(thinkPHP5)框架连接数据库的方法示例PHP7使用ODBC连接SQL
Server2008
R2数据库示例【基于thinkPHP5.1框架】tp5(thinkPHP5)操作mongoDB数据库的方法thinkPHP5实现数据库添加内容的方法tp5(thinkPHP5)框架数据库Db增删改查常见操作总结PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
Ⅵ php创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
array_combine
(PHP 5, PHP 7)
array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
说明
array_combine ( array $keys , array $values ) : array
返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。
参数
keys
将被作为新数组的键。非法的值将会被转换为字符串类型(string)。
values
将被作为 Array 的值。
返回值
返回合并的 array,如果两个数组的单元数不同则返回 false。
错误/异常
如果作为keys的数组和作为values的数组的元素个数不一样,将会抛出一个警告错误(E_WARNING)。
更新日志
版本 说明
5.4.0 (修复)早期版本中如果是空数组就报E_WARNING的错并且返回false。
范例
示例 #1 一个 array_combine() 简单的例子