本文目录一览:
php数组遍历类与用法示例
本文实例讲述了php数组遍历类与用法。分享给大家供大家参考,具体如下:
?php
class
scanArray{
public
$arr;
public
$where;
private
$str;
public
function
scan($arr,$where="array"){
$this-arr
=
$arr;
$this-where
=
$where;
foreach($this-arr
as
$k=$v){
if(is_array($v)){
$this-where
=
($this-where)."[{$k}]";
$this-scan($v,$this-where);
}else{
$this-str
.=
$this-where."[{$k}]=".$v.'br
/';
}
}
return
$this-str;
}
function
__destruct(){
unset($this-arr);
unset($this-where);
}
}
$a
=
array('g'="a",'vv'=array("b"="b","l"="c","xx"=array("e","g")));
$ah
=
new
scanArray();
$b
=
$ah-scan($a);
echo
$b;
运行结果:
array[g]=a
array[vv][b]=b
array[vv][l]=c
array[vv][xx][0]=e
array[vv][xx][1]=g
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《PHP常用遍历算法与技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:PHP遍历数组的方法汇总PHP
数组遍历方法大全(foreach,list,each)PHP
数组遍历foreach语法结构及实例PHP中多维数组的foreach遍历示例php实现遍历多维数组的方法PHP中使用foreach()遍历二维数组的简单实例PHP遍历数组的三种方法及效率对比分析PHP实现的操作数组类库定义与用法示例PHP数组操作类实例PHP数组生成XML格式数据的封装类实例
php是什么
PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,易于学习,使用广泛,主要适用于Web开发领域。
……………………………………………………………………
看你问的问题,应该是对php很感兴趣,其实你可以自学php。关于如何学习php,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学php,并找到php的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到php这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习php,然后给我介绍了一下php现在的火热情况,告诉我学php多么的有前景,给我了一份传单,php培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下php,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学php了。于是我去找php培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在百度知道看到一篇让我很鼓舞的文章是一个php高手介绍没有基础的朋友怎么自学入门学php,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索php的视频,虽然零星找到一些php的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视频,是在IT学习联盟推出的一份视频《零基础php就业班》(喜欢《零基础php就业班》的可以复制 t.cn/8s1Z7Of 粘贴浏览器地址栏按回车键即打开)。里面的教程还不错,很完整,还赠送10个顶级企业项目。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的Html/css/javascript视频教程学起,话说简单,其实我还是很多不懂的,只要重复多看几遍,就能看懂。Html/css/javascript我差不多学了一个礼拜,接下来我就学了PHP基础和Mysql数据库,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了php的全部基础。
接下来开始学习php高级课程,老师幽默风趣而又轻松的课堂教课,使我发现原来学习php并不是一件很难的事情。之前我把php基础学得还不错,到了到了php高级部分,我觉不又不是很难,可能老师太牛了,他能把复杂的问题讲的比较通俗易懂,有些难点的地方我还是连续看了五六次,把他弄懂。每天下午6点下班后,吃了饭,马上跑回家。看视频,买了几本笔记本。当时,为了编程还花几百元了台二手的台式电脑,配置一般,但编程是足够的。一边看视频,一边记笔记,把重点都记下来,还一边跟着老师敲代码,为了能尽早学会php。每天都坚持学5-6个小时。经常学到晚上一点多才睡觉。星期六,日不用上班,每天7点多起床,学到晚上11,12点。那段时间特别辛苦,特别累。在学习php的三个多月里,除了吃饭睡觉工作,剩余的时间都在学习,因为我知道自己的计算机基础不是很好,也没有学过什么计算机,相对于那些科班的人来说我要比他们付出更多的努力。我只能咬紧牙关,坚持下去,我不能放弃,我要完成我的梦想,我要让我的家人过上好日子。终于三个多月后我把php教程里的内容和项目都学完了,在学项目的过程中我发现项目特别重要,他能把你学过的知识全部联系起来,能更好的理解你所学的知识。还有学习过程中,动手很重要,要经常跟着老师动手敲,动手吧,跟着做,一行一行的跟着敲,再试着加一些自己的功能,按照自己的思路敲一些代码,收获远比干听大的多。 如果遇到暂时对于一些思路不能理解的,动手写,先写代码,慢慢你就会懂了。这套视频还赠送了10个顶级企业项目,对于我没有任何经验的人来说,这个太重要了,还有在学习项目是提升能力最快的方法。项目能把所有的知识点全都连到一起了,不再是分散的,而是形成一个整体了。那种感觉是仅仅深入钻研知识点而不写真实项目的人所不能体会的。一个项目就是一根绳子可以把大片的知识串到一起。 就这样,我用了两个月也把项目给学完了。其实学完教程差不错就达到就业水平,但是我可能觉得自己学历低还是把那10个顶级企业项目才去找工作。
于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。
后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是php开发程序员,但我也比较满足,开的工资是3500一个月,虽然我知道在上海3500只能过温饱的生活,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。
把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。
………………………………………………………………
php关于文章的读取
表单用get方式传递,显示页面用$_GET["
"]来接收传递值,即时传递是中文也一样。。用title变量去查询数据库的相应字段
高质量PHP代码的50个技巧(3)
42
43
44
45
/**
Method to execute a command in the terminal
Uses :
1. system
2. passthru
3. exec
4. shell_exec
*/
function terminal($command)
{
//system
if(function_exists('system'))
{
ob_start();
system($command , $return_var);
$output = ob_get_contents();
ob_end_clean();
}
//passthru
else if(function_exists('passthru'))
{
ob_start();
passthru($command , $return_var);
$output = ob_get_contents();
ob_end_clean();
}
//exec
else if(function_exists('exec'))
{
exec($command , $output , $return_var);
$output = implode("\n" , $output);
}
//shell_exec
else if(function_exists('shell_exec'))
{
$output = shell_exec($command) ;
}
else
{
$output = 'Command execution not possible on this system';
$return_var = 1;
}
return array('output' = $output , 'status' = $return_var);
}
terminal('ls');
上面的函数将运行shell命令, 只要有一个系统函数可用, 这保持了代码的一致性.
5. 灵活编写函数
?
1
2
3
4
5
6
function add_to_cart($item_id , $qty)
{
$_SESSION['cart']['item_id'] = $qty;
}
add_to_cart( 'IPHONE3' , 2 );
使用上面的函数添加单个项目. 而当添加项列表的时候,你要创建另一个函数吗? 不用, 只要稍加留意不同类型的参数, 就会更灵活. 如:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function add_to_cart($item_id , $qty)
{
if(!is_array($item_id))
{
$_SESSION['cart']['item_id'] = $qty;
}
else
{
foreach($item_id as $i_id = $qty)
{
$_SESSION['cart']['i_id'] = $qty;
}
}
}
add_to_cart( 'IPHONE3' , 2 );
add_to_cart( array('IPHONE3' = 2 , 'IPAD' = 5) );
现在, 同个函数可以处理不同类型的输入参数了. 可以参照上面的例子重构你的多处代码, 使其更智能.
6. 有意忽略php关闭标签
我很想知道为什么这么多关于php建议的博客文章都没提到这点.
?
1
2
3
?php
echo "Hello";
//Now dont close this tag
这将节约你很多时间. 我们举个例子:
一个 super_class.php 文件
?
1
2
3
4
5
6
7
8
9
?php
class super_class
{
function super_function()
{
//super code
}
}
?
//super extra character after the closing tag
index.php
?
1
2
require_once('super_class.php');
//echo an image or pdf , or set the cookies or session data
这样, 你将会得到一个 Headers already send error. 为什么? 因为 “super extra character” 已经被输出了. 现在你得开始调试啦. 这会花费大量时间寻找 super extra 的位置。因此, 养成省略关闭符的习惯:
?
1
2
3
4
5
6
7
8
9
?php
class super_class
{
function super_function()
{
//super code
}
}
//No closing tag
这会更好.
7. 在某地方收集所有输入, 一次输出给浏览器
这称为输出缓冲, 假如说你已在不同的函数输出内容:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function print_header()
{
echo "p id='header'Site Log and Login links/p";
}
function print_footer()
{
echo "p id='footer'Site was made by me/p";
}
print_header();
for($i = 0 ; $i 100; $i++)
{
echo "I is : $i ';
}
print_footer();
替代方案, 在某地方集中收集输出. 你可以存储在函数的局部变量中, 也可以使用ob_start和ob_end_clean. 如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function print_header()
{
$o = "p id='header'Site Log and Login links/p";
return $o;
}
function print_footer()
{
$o = "p id='footer'Site was made by me/p";
return $o;
}
echo print_header();
for($i = 0 ; $i 100; $i++)
{
echo "I is : $i ';
}
echo print_footer();
为什么需要输出缓冲:
可以在发送给浏览器前更改输出. 如 str_replaces 函数或可能是 preg_replaces 或添加些监控/调试的html内容.
输出给浏览器的同时又做php的处理很糟糕. 你应该看到过有些站点的侧边栏或中间出现错误信息. 知道为什么会发生吗? 因为处理和输出混合了.
8. 发送正确的mime类型头信息, 如果输出非html内容的话.
输出一些xml.
?
1
2
3
4
5
6
$xml = '?xml version="1.0" encoding="utf-8" standalone="yes"?';
$xml = "response
code0/code
/response";
//Send xml data
echo $xml;
工作得不错. 但需要一些改进.
?
1
2
3
4
5
6
7
$xml = '?xml version="1.0" encoding="utf-8" standalone="yes"?';
$xml = "response
code0/code
PHP网络编程的代码怎么写?
PHP网络编程的代码怎么写?本篇文章给大家介绍的是关于PHP网络编程的代码,有兴趣的朋友可以看一下
//echo gethostbyname("");
$host = "111.13.100.92"; //设置基本信息
$port = 65530;
set_time_limit(0); //设置超时时间
//创建一个socket
$socket = socket_create(AF_INET,SOCK_STREAM,0) or die("不能建立socket链接!n");
//绑定Socket到端口
$result = socket_bind($socket,$host,$port) or die("不能绑定socket给定的端口n");
//开始监听
$result = socket_listen($socket,3) or die("建立socket连接失败n");
//接受连接请求,另一个Socket处理通讯
$socket_a = socket_accept($socket) or die("不能接受客户端socket请求n");
//获取客户端的输入请求
$input = socket_read($socket_a,4096) or die("读取客户端输入失败n");
//清空输入字符
$input = trim($input);
//处理客户端输入并处理结果
$output = strrev($input)."n";
socket_write($socket_a,$output,strlen($output)) or die("不能给客户端返回结果n");
//关闭socket
socket_close($socket_a);
socket_close($socket);
?
PHP网络编程的代码怎么写?这段php网络编程,希望大家一定要学会。
本篇《PHP网络编程的代码怎么写?原来这个代码就足够我们使用了》到这里就已经结束了,小编一直认为,某一个编程软件受欢迎是有一定原因的,首先吸引人的一定是其功能,环球网校的小编祝您PHP学习之路顺利,如果你还想知道更多php知识,可以点击本站的其他文章进行学习。