搜索
首页后端开发php教程 [愉快学php100天]第二天:疯狂的数组

[开心学php100天]第二天:疯狂的数组

 上期链接:开心学php100天 第一天

本期格言:


  为什么有的人学php总感觉有的知识点学的很好有的知识点却始终学不会,那是因为学的时候脸部肌肉太紧张,导致神经末梢坏死,所以瘸了。

 本期知识点:php数组

   数组是php最为标志性的利器功能。学好php数组基本上你就有了在php界混的初期资本了。

   以前我有一个朋友开了一个电脑公司。一般电脑公司主营业务就是卖电脑,偶尔也会搭一些零配件,当然视情况不同也有一些公司附带着卖一些光盘,如电影、游戏等。我那朋友比较有技术气息自己也是草根程序员出身,对卖光盘行为很鄙视尤其是卖岛国的光盘。初期有一大段时间他的主营业务是帮一些公司或企业做网站。当时的宣传性网站完全没有现在的复杂,基本上就2-3个页面,动态网站多一点也不会超过10个界面,何况当时有很多免费空间,所以当时他那几百几百赚很轻松、很敏捷、很高效啊,我曾“偷师”他的网站代码,我记不清楚全部,只能yy一下大概的模样,大家可以小看一下,php的:

 
 
<?php $var=file("./产品列表.txt");//当时用access还不如用 txt
 if(!$var || is_array($var) || count($var)==0) exit("系统繁忙,请稍后再试");
 $fix=array("中国XXX最大的网站","只有我们的产品是正宗的","假一罚十绝不坑人","上哪能买到如此好的XXX不要再犹豫了");
?>

 
  <title><?php echo $fix[0]?></title>
 
 
    
//注意当时800*600是国标,不要想太多

?
....这里是乱七八糟的 假大空神句 .......
....这里是同类网站各自互相支持穿插的广告,如:“激起你心中的虎”或“用了XXX后腿脚好了,也不起夜了”等等。
echo '
  • '.$eachline.'
  • ';
    //商品标题很耸听,意思是不买 你会后悔白来世上一趟 ?>
    ........注意这里已然是页面的尾部了.......... //注意当时 备案 真的不严 //注意当时我朋友不会脚本,因此该页面要刷一次才会变化当前时间。




        好,以上就是我朋友赖以生存的一个基本技能。据说换个同类型的客户他只要把“产品列表.txt” 换换内容,然后把td的背景图片换掉,页面立马洗新革面,我朋友当时非常 严肃的告诉我,他已经实现“产品化”的开发模式了。我膜拜的五体投地,因为我当时初学asp时,绝对没有这么“可配置化”。

       网页里面的广告和语句大家不要太纠结,反正当时作为小白的我看了这个网页,很想花钱试一试,不过我朋友告诉我我还没到用的时候。我追问“什么时候能用”,我朋友“扇”了我一巴掌。

        接下来我们切入正题,解释一下上文中的知识点。

       一、数组最基本的表现形式

        $fix=array("内容1","内容2","内容3");这个是php数组最基本的表现方式。请原谅我不想把广告词再打一遍,太恶心了。

        你想堆积多少内容均可,只要你写的下。当你要调用里面的内容时,你只要从“0”开始计数进行调用,如$fix[0],$fix[1]...$fix[n]。

       注意:为什么要从0开始。一个是因为"php老大"就是这么设计的,另外一个是因为 这个最最基本数组的真身是

        $fix=array(0=>"内容1",1=>"内容2",2=>"内容3“);

      "=>"这个符号是被省略了,这个符号 左边是 键,右边是值,一般很多教科书上 会解释成 "$key=>$value".大家不要纠结为什么左边是$key右边是$value,我告诉大家是习惯性写法,你要写成 $ss=>$bb,都代表左边那个是键,右边那个是值。

     所以:任何一个形式的数组 都会有键和值。省不省略看你的,不管你省不省,反正我省了。

     拓展一下:既然有键值,那么就可以更改键值。

     譬如 $fix=array("夸张的网站名称"=>"中国最大的XXX网站 ","扯蛋的产品品牌"=>"只有我们是最正宗的","听了想吐的广告语"=>"假一罚十绝不坑人");

        这个时候假如你要把 "扯蛋的产品品牌" 输出到页面,你就不能用 echo $fix[1]; 因为键值 已经被你改了。

       应该用 echo $fix['扯蛋的产品品牌'];   

     二、遍历数组

        继续以 $fix=array("内容1","内容2","内容3"); 为例子

         1、用foreach是循环小型数组最贴身最适合的方法。

         基本语法是:foreach(这里是原始数组 as 这里写每次遍历时设置的变量)

         例如:foreach($var as $eachline) echo $eachline; 则会以此输出 内容1.....内容3;

         2、很多人知道其实还有一个 while 可以遍历数组

           基本语法是:while(list($key,$value)=each($attr))

         例如:while(list($key,$value)=each($fix)) echo $key.$value; 则会依次输出 0内容1.。。。。2内容2;

         这两种遍历区别这里不讲的太深,后面会讲到,我现在只告诉大家,如果你只是要遍历数据,那么不管啥时候都用foreach。如果你要在遍历过程中还要更改数组的值,那么用while。原因只有一个字,为了"快“。现在生活节奏太快,写程序首要原则是”快“。

        至于其他遍历数组的语法还有,我个人认为咱没必要学了,除非你去考秀才,如果是实战 这两种够了,我们也是为了快。

       拓展一下,数组里面的值不光可以放字符串,也可以放数组也可以任何形式的变量值.

      如 $fix=array("扯蛋的广告词"=>array("前100位订购者,再送200元大礼包","20天精通某语言","孩子不吃饭是因为缺X"));

       对于这样的数组,$fix['扯蛋的广告词'] 的值其实是个数组、

      譬如 echo $fix['扯蛋的广告词'][1]; 则会输出 "20天精通某语言"

     三、数组的赋值

      来举个例子:

        $fix=array();  这个数组是空的。

        $fix[]="内容1”;  此时就等同于 $fix=array("内容1");或者$fix=array(0=>"内容1");

        $fix[]="内容2";此时等同于 $fix=array("内容1","内容2"); 或者 $fix=array(0=>"内容1",1=>"内容2");

        $fix['我们在学什么']='php'; 此时等同于 $fix=array(0=>"内容1","我们在学什么"=>"php");

       以上赋值都是在数组的尾部赋值,其实还有array_push函数可以赋值,语法是$fix=array_push($fix,"内容1","内容2");效果是一样的,只不过array_push可以一下子加好多值,用'[]'一次一个。

        php数组函数很强大,几乎想干什么都能干到,譬如数组的排序、合并、反转、删除等等,大家可以百度一下,由于篇幅问题这里不多讲,函数靠背、靠多用就会,不难。不过呢,到了实战做项目 很多数据的处理都需要通过数据库存储过程、优化的表结构、好的数据排序算法、技巧化的数据读取方式来做,真正实战php里面好多数组的函数基本上是用不到的,譬如你接到了一个1230X这样的项目,要列出所有国人的名字并排序你敢用php数组来遍历着干并且合并、反转吗。当然假如你的客户是面向梵蒂冈或者冰岛的那可以这么干。

         不过很多函数譬如, is_array--是否是数组 in_array---是否存在某值,array_key_exists---数组中是否存在某键值等等常用的函数是一定要学会的。如学不会,那你离做领导也不远了。

        彩蛋:

       上文中有个 $var=file("./产品列表.txt");  意思是把文本文档一次性读取,并且按照行读取成数组,其中包括换行符。

        下一天 讲php伟岸的文件操作,请大家预热。
    声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    继续使用PHP:耐力的原因继续使用PHP:耐力的原因Apr 19, 2025 am 12:23 AM

    PHP仍然流行的原因是其易用性、灵活性和强大的生态系统。1)易用性和简单语法使其成为初学者的首选。2)与web开发紧密结合,处理HTTP请求和数据库交互出色。3)庞大的生态系统提供了丰富的工具和库。4)活跃的社区和开源性质使其适应新需求和技术趋势。

    PHP和Python:探索他们的相似性和差异PHP和Python:探索他们的相似性和差异Apr 19, 2025 am 12:21 AM

    PHP和Python都是高层次的编程语言,广泛应用于Web开发、数据处理和自动化任务。1.PHP常用于构建动态网站和内容管理系统,而Python常用于构建Web框架和数据科学。2.PHP使用echo输出内容,Python使用print。3.两者都支持面向对象编程,但语法和关键字不同。4.PHP支持弱类型转换,Python则更严格。5.PHP性能优化包括使用OPcache和异步编程,Python则使用cProfile和异步编程。

    PHP和Python:解释了不同的范例PHP和Python:解释了不同的范例Apr 18, 2025 am 12:26 AM

    PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

    PHP和Python:深入了解他们的历史PHP和Python:深入了解他们的历史Apr 18, 2025 am 12:25 AM

    PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

    在PHP和Python之间进行选择:指南在PHP和Python之间进行选择:指南Apr 18, 2025 am 12:24 AM

    PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

    PHP和框架:现代化语言PHP和框架:现代化语言Apr 18, 2025 am 12:14 AM

    PHP在现代化进程中仍然重要,因为它支持大量网站和应用,并通过框架适应开发需求。1.PHP7提升了性能并引入了新功能。2.现代框架如Laravel、Symfony和CodeIgniter简化开发,提高代码质量。3.性能优化和最佳实践进一步提升应用效率。

    PHP的影响:网络开发及以后PHP的影响:网络开发及以后Apr 18, 2025 am 12:10 AM

    PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

    PHP类型提示如何起作用,包括标量类型,返回类型,联合类型和无效类型?PHP类型提示如何起作用,包括标量类型,返回类型,联合类型和无效类型?Apr 17, 2025 am 12:25 AM

    PHP类型提示提升代码质量和可读性。1)标量类型提示:自PHP7.0起,允许在函数参数中指定基本数据类型,如int、float等。2)返回类型提示:确保函数返回值类型的一致性。3)联合类型提示:自PHP8.0起,允许在函数参数或返回值中指定多个类型。4)可空类型提示:允许包含null值,处理可能返回空值的函数。

    See all articles

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热工具

    MinGW - 适用于 Windows 的极简 GNU

    MinGW - 适用于 Windows 的极简 GNU

    这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

    SublimeText3汉化版

    SublimeText3汉化版

    中文版,非常好用

    EditPlus 中文破解版

    EditPlus 中文破解版

    体积小,语法高亮,不支持代码提示功能

    Atom编辑器mac版下载

    Atom编辑器mac版下载

    最流行的的开源编辑器

    禅工作室 13.0.1

    禅工作室 13.0.1

    功能强大的PHP集成开发环境