`

Php学习《五》 ------ 基本知识摘录

    博客分类:
  • php
阅读更多
1.php中文字符串长度及定长截取问题

使用str_len("中国") 结果为6,php系统默认一个中文字符长度为3,可改用mb_strlen函数获得长度,mb_substr函数截取字符

mb_strlen($str, "utf-8"); //1汉字为1字符
mb_strlen($str, "gb2312"); //系统会认为1汉字为2字符
mb_strlen($str); //如果没有添加,系统会认为1汉字为3字符

int mb_strlen ( string str [, string encoding] )

string mb_substr ( string str, int start [, int length [, string encoding]] )

2.判断php变量是否定义,是否为空

if($keyword):   这样的语句如果在controller里没有set 到页面上判断语句会出错,改用表达式 isset($keyword)

表达式 gettype()  empty()  is_null()  isset()  boolean : if($x)
$x = "";  string  TRUE  FALSE  TRUE  FALSE
$x = null;  NULL  TRUE  TRUE  FALSE  FALSE
var $x;  NULL  TRUE  TRUE  FALSE  FALSE
$x is undefined NULL  TRUE  TRUE  FALSE  FALSE
$x = array();  array  TRUE  FALSE  TRUE  FALSE
$x = false;  boolean  TRUE  FALSE  TRUE  FALSE
$x = true;  boolean  FALSE  FALSE  TRUE  TRUE
$x = 1;  integer  FALSE  FALSE  TRUE  TRUE
$x = 42;  integer  FALSE  FALSE  TRUE  TRUE
$x = 0;  integer  TRUE  FALSE  TRUE  FALSE

3.获取request多值参数

类似java的request.getParameterValues()  (居然刚知道这个方法,==!)

页面form中   

   <input type="hidden" name="kword[]" value="2"/>
     <input type="hidden" name="kword[]" value="7"/>
    <input type="hidden" name="kword[]" value="895"/>

后台处理请求

$kword=$_POST['kword'];

cakePHP对应方法为

$kword=$this->params['form']['kword'];

使用时按照设置的顺序$kword[index]    index: 0-n

4.php solr client api 取doc字段出现index not defined 错误解决方法:

solr文档可能某些字段不全,当取多个文档显示时,如果有的字段没有定义值会出现index not defined  错误

修改solr client api的Document文件

public function __get($key) { 
//key不存在则返回空 避免出现index not defined 错误 shen guanpu 2010年7月15日13:51:52 
return array_key_exists($key,$this->_fields)?$this->_fields[$key]:""; 
//return $this->_fields[$key]; 原代码}

5. Install CakePHP in a Subdirectory Via an Apache Alias
httpd.conf

In httpd.conf, add the following line:Alias /directory_name /absolute/path/to/install/directory/app/webroot
.htaccess

In app/webroot/.htaccess, add the following line:RewriteBase /directory_name
Your .htaccess file should now appear as such:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /directory_name
  RewriteCond % REQUEST_FILENAME !-d
  RewriteCond % REQUEST_FILENAME !-f
  RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
index.php

Finally, in app/webroot/index.php, at line 63, right below where it says not to edit below this line, change it to: define('WEBROOT_DIR', 'directory_name');
出处
http://www.chriscassell.net/log/2006/07/27/how_to_install_.html

6. mysql 远程访问设置

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'password'  WITH GRANT OPTION;

FLUSH PRIVILEGES;

7.PHP 闭合标签


PHP闭合标签“?>”在PHP中对PHP的分析器是可选的。 但是,如果使用闭合标签,任何由开发者,用户,或者FTP应用程序插入闭合标签后面的空格都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。因此,所有的php文件应该省略这个php闭合标签,并插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。这样有利于你确定这个文件已经结束而不是被删节的。

INCORRECT: <?php echo "Here's my code!"; ?>

CORRECT: <?php echo "Here's my code!";

/* End of file myfile.php // Location: ./system/modules/mymodule/myfile.php */

8.php判断数字

bool is_numeric ( mixed var )

9.mysql IGNORE_SPACE mode

写concat函数时出现 concat dose not exist错误

更改set sql_mode='IGNORE_SPACE'; 再写concat得到正确结果

mysql workbench字体太小,函数和“(”之间有空格居然没看到。。。

10.php solr 搜索排序

$response = $this->searchSolr->search( $query, $offset, $limit,array('sort'=>'wiki-recommend desc,wiki-score desc') );

11.字符编码转换

string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )

12. cakePHP之XP下apache配置

php.ini文件设置 date.timezone = HongKong  不然cakePHP首页会出现警告

apache httpd.conf配置主要是设置php支持及urlrewrite模块启动

LoadModule php5_module C:/php/php5apache2_2.dll

AddType application/x-httpd-php .php
PHPIniDir "C:/php"

#使用cake php 则去掉下行的注释
LoadModule rewrite_module modules/mod_rewrite.so

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

# 配置默认的目录设置 是否允许跳转.
#
<Directory />
    Options FollowSymLinks
    AllowOverride all
#    Order deny,allow
#    Deny from all
</Directory>

# This should be changed to whatever you set DocumentRoot to.
#这个目录的配置同上做更改
<Directory "C:\Apache2.2\htdocs">
  
13.二维数组赋值

$a1 = array( "a" => 0, "b" => 1 );
$a2 = array( "aa" => 00, "bb" => 11 );
$together = array( $a1, $a2 );
foreach( $together as $single ) {
   $single["c" ] = 3 ;
}

这样赋值不会有任何变化,必须如下做法:

foreach( $together as $key => $value ) {
   $together[$key]["c"] = 3 ;
}
分享到:
评论

相关推荐

    Reinforcement Learning An Introduction引言部分摘录-强化学习与监督学习无监督学习的区别.pdf

    《强化学习导论》摘录之强化学习与有监督学习、监督学习的区别; Reinforcement Learning: An Introduction; The differences between reinforcement learning and supervised learning, unsupervised learning.

    摘录--提高SQL性能5中方法

    ### 提高SQL性能五种方法 #### 一、优化`LEFT JOIN`的使用 在数据库查询操作中,`LEFT JOIN`是一种非常常见的连接方式,它返回左表中的所有记录以及右表中匹配的记录;如果没有匹配,则结果集中的右表列会显示为`...

    《广东省太阳能光伏发电发展规划(2014-2020年)》摘录-太阳库.pdf

    《广东省太阳能光伏发电发展规划(2014-2020年)》摘录-太阳库.pdf

    C++学习摘录

    在这个学习摘录中,你可能会接触以下主题: - 模板实例化和编译期多态 - 依赖类型推导(SFINAE)和模板元编程 - 异常安全编程,包括异常规范(nothrow) - STL容器的内部结构和操作(如容量管理和内存管理) - 迭代...

    Linux摘录入门基础

    这份"Linux摘录入门基础"涵盖了Linux的基础知识,包括安装、基本命令、文件系统、用户管理以及系统管理等方面,旨在帮助初学者快速理解和掌握Linux操作环境。 1. **Linux安装**: Linux有多种发行版,如Ubuntu、...

    摘录【3-6岁儿童学习和发展指南】(中班).doc

    以下是对文档中提到的关键知识点的详细阐述: 1. 健康领域: - 身心状况:关注儿童的身体发育指标,如身高、体重,以及保持正确的站、坐、走姿。同时,强调儿童情绪的稳定性和适应能力,如快速缓解不愉快情绪,...

    硬件十记-摘录

    根据给定文件的信息,我们可以提炼出以下与硬件设计相关的知识点: ### 1. 系统电源设计的重要性 在硬件设计中,系统电源的设计是至关重要的一步。它直接影响到整个系统的稳定性和性能。电源设计不当可能会导致...

    一些基础的Ajax学习知识实例HTML代码打包.rar

    收集一些基础的Ajax学习知识实例,这些实例基于HTML静态网页格式,并配合封装好的Ajax操作类,实现一些不同的页面无刷新操作效果,其中封装类中的一些代码释义摘录如下: 1、回调函数,用于处理所有方法中function...

    个人网上文档摘录合集-DIR-2024123-END

    AR路由器配置内网通过公网IP访问内网服务器(域内NAT).docx Box 310&610连接TOUCH失败.png BOX310可以可管理加入SMC2.0吗.docx CloudVC 21.0解决方案介绍进阶课程.txt FAQ-SMC2.0和SMC2.0手动级联配置方法.pdf ...

    实现拖动(网上摘录-存档)

    【标题】:“实现拖动(网上摘录-存档)” 在计算机编程中,实现拖放功能是一项常见的任务,尤其在开发用户界面丰富的应用程序时。拖放操作允许用户通过鼠标或其他输入设备将一个对象从一个位置移动到另一个位置,...

    缠论中关于MACD的记录-摘录.docx

    9. **学习过程**: - 判断背驰需要时间去实践和掌握,可以通过观察均线关系或MACD指标,逐步提高技巧。 10. **实战应用**: - 要注意背驰并不一定立即导致价格反转,有时会有次级反弹或下跌。结合其他技术分析...

    流媒体基本知识及流媒体服务器搭建知识大全

    内容由流媒体协议等基本知识,视频媒体基本知识,流媒体服务器搭建实战,流媒体工具使用实战等内容组成。由本人“天地会珠海分舵”(http://blog.csdn.net/zhubaitian)耗时一个月整理而成,现分享给大家。 章节内容...

    西门子 Sinumerik CNC报警知识点摘录

    ### 西门子Sinumerik CNC报警知识点摘录 #### 一、概述 本文将详细介绍西门子Sinumerik CNC系统中的报警知识点,包括报警的基本结构、分类、地址计算方法以及报警信息的显示与管理等内容。 #### 二、报警结构与...

    BJFU-大数据考点+PPT摘录.docx

    ### 大数据基础复习知识点详解 ...综上所述,本篇笔记全面介绍了大数据的基本概念、Hadoop的核心技术、HDFS的结构和功能、以及HDFS的特性和通信协议等方面的知识点,为大数据领域的学习者提供了详尽的学习资料。

    《中国医院信息化发展研究报告2008-2013(白皮书)》摘录五.pdf

    《中国医院信息化发展研究报告2008-2013(白皮书)》摘录五.pdf

    PHP.for.the.Web.Visual.QuickStart.Guide.5th.Edition.2016.6.pdf

    根据提供的文件信息,我们可以归纳出以下关键知识点,这些知识点主要围绕《PHP for the Web Visual QuickStart Guide 第五版》这本书展开: ### 书籍基本信息 - **书名**:《PHP for the Web Visual QuickStart ...

    知识管理需求分析-V1.2.pdf

    知识点摘录: 1. 知识管理的定义:知识管理是指对信息进行加工、提高我们改变认知或行动的速度的过程。 2. 知识管理的需求:个人的知识需求,需要通过搜索、下载、摘抄、归类、存储等步骤来实现。 3. 知识管理的...

    全国各个软件公司面试题---DOTNET笔试题集(摘录)

    根据给定文件的信息,本文将围绕“全国各个软件公司面试题——DOTNET笔试题集(摘录)”这一主题展开,深入分析与C#相关的面试知识点,并基于标题、描述及部分给定内容进行详细的阐述。 ### 一、C#基础知识 #### ...

Global site tag (gtag.js) - Google Analytics