php &运算符 引用用法

 更新时间:2016年11月25日 15:56  点击:1603
//第一个:
function   &strAppOne()   {
	static   $v   =   0;
	$v++;
	echo   $v.nl2br("
");
	return   $v;
}
strAppOne();
$b   =&   strAppOne();
$b   +=   10;
strAppOne();
print_r($b);

/**输出:
*1
*2
*13
*/ //第二个: function &strAppTwo() { static $v = 0; $v++; echo $v.nl2br(" "); return $v; } strAppTwo(); $b = strAppTwo(); $b += 10; strAppTwo(); print_r($b); /**输出: *1
*2
*3
*12
*/ //第三个: function strAppThree() { static $v = 0; $v++; echo $v.nl2br(" "); return $v; } strAppThree(); $b =& strAppThree(); $b += 10; strAppThree(); print_r($b); /**输出: *1
*2
*3
*12
*/

/*
 语法:
  setcookie(name,value,expire,path,domain,secure)
 name,cookie名称 必填
 value, cookie值,必写
 
 其它的可写,不过来说明一来功能
 expire 过期时间如: time()+3600*24
 path 路径如:/根目录,也可以指定二级目录如 /111cn.net/
 domain 域名,这个就是做了二级域名是要注明了,如果我你让所有二级域都可以访问这个cookie的话就如这样设置:".111cn.net" 那么,s.111cn.net,down.111cn.net等都可以访问这个cookie哦。
 secure 一般为1

下面来看个cookie实例,
*/
$value='www.111cn.net';
setcookie('loadDomain',$value,time()+3600*24,'/','.111cn.net'); //设置cookis

//下面读取cookie的值,在php中用$_COOKIE带cookie的名称就OK了。如下。
if( isset($_COOKIE['loadDomain'] ) )
{
 $cookis = $_COOKIE['loadDomain'];
 header("location:$cookis");
}

//本站原创教程转载注明来源www.111cn.net

*/
$i =5;

 代码如下 复制代码
$sum =0;
for( $j =0;$j<=10;$j++ )
{
 if( $j == $i )
 {
  break;
 }
 else
 {
  $sum +=$j;
 }
}

echo $sum; //10

 代码如下 复制代码
$continueSum =0;
for( $i =0;$i<=10;$i++ )
{
 if( $i == 5 )
 {
  continue;
 }
 else
 {
  $continueSum +=$i;
 }
}
 代码如下 复制代码

echo $continueSum; //50


$a=2;


if( $a==2 )
{
 return $s=8;
}
else
{
 return $s=9;
}


echo $s;//没有什,我们把它写成函数看看


echo sv($a); //输了10

 代码如下 复制代码
function sv($a)
{
 if( $a==2 )
 {
  return 10;
 }
 else
 {
  return 11;
 }
}

/*
总结三者的区别:
 continue 跳出当前循环,并进入下次循环
 break 跳出当前的循环,往下执行其它代码
 return 终止操作,在return后面的代码都不被执行了。
 本站原创文章转载注明来源www.111cn.net/phper/php.html
*/

mb_strlen 及 strlen 计算字符串长度区别在使用 mb_strlen必须把php.ini中php_mbstring.dll前面的\\\";\\\"去了才行,不过一般的套装包默认是去了的。
 代码如下 复制代码

//strlen
//int strlen ( string $string )

$str = '123456';
echo strlen($str); // 6

$str = ' ab cd www.111cn.net';
echo strlen($str); // 20

$ch ='中国';

echo strlen($ch);//4

echo utf8_strlen($str); //20
//

 代码如下 复制代码

function utf8_strlen($str)
    {
    $count = 0;

    for($i = 0; $i < strlen($str); $i++)
        {
        $value = ord($str[$i]);
        if($value > 127)
            {
            if($value >= 192 && $value <= 223)
                $i++;
            elseif($value >= 224 && $value <= 239)
                $i = $i + 2;
            elseif($value >= 240 && $value <= 247)
                $i = $i + 3;
            else
                die('Not a UTF-8 compatible string');
            }
      
        $count++;
        }
  
    return $count;
}

// 下面来看看mb_strlen实例
echo '<br />';
$str ='中国';
echo mb_strlen($str,'gbk'); //2 长度为2,而刚才我们用strlen时输出的时4,从这里可看出mb_strlen设置了他的编码为gbk时就当中文处理了。
echo mb_strlen( $str,'utf8');//3

// 当我们设置mb_strlen参数是uft8编码时他的长度为3

//来看个计算中英文混排字符串长度实例

 

$str='中文a字1符中国WEB第一站www.111cn.net原创文章';
//计算如下
echo (strlen($str) + mb_strlen($str,'UTF8')) / 2;
echo
//输出结果
//10
/*
strlen //计算字符串长度,一个中文当2字符
mb_strlen //根据它的字符编码模式,统计字符quot;
在使用 mb_strlen必须把php教程.ini中php_mbstring.dll前面的";"去了才行,不过一般的套装包默认是去了的。
本站原创文章,转载注明来源www.111cn.net

/*
int mb_strlen ( string $str [, string $encoding ] )

 代码如下 复制代码
<?php教程
echo substr_replace("Hello world","earth",6); Hello earth
?>

值得一提的,当开始和长度都是负和,长度小于或等于开始,长度将有被设置为0的效果。

 代码如下 复制代码
<?php
substr_replace('eggs','x',-1,-1); //eggxs
substr_replace('eggs','x',-1,-2); //eggxs
substr_replace('eggs','x',-1,-2); //eggxs
?>

Same as:
<?php
substr_replace('eggs','x',-1,0); //eggxs
?>

 代码如下 复制代码
<?php
substr_replace('huevos','x',-2,-2); //huevxos
substr_replace('huevos','x',-2,-3); //huevxos
substr_replace('huevos','x',-2,-3); //huevxos
?>

Same as:

 代码如下 复制代码
<?php
substr_replace('huevos','x',-2,0); //huevxos
?>

另一个注意,如果长度为负,开始偏移为长度相同的位置,长度(再次)将具有影响被定为0。 (当然,在手册中提到,当长度为负它实际上代表了之前的立场)

 代码如下 复制代码

<?php
substr_replace('abcd', 'x', 0, -4); //xabcd
?>

Same as:
<?php
substr_replace('abcd','x',0,0); //xabcd
?>

<?php
substr_replace('abcd', 'x', 1, -3); //axbcd
?>

Same as:
<?php
substr_replace('abcd', 'x', 1, 0); //axbcd
?>

看一下参数说明


string 必需。规定要检查的字符串。
replacement 必需。规定要插入的字符串。
start 必需。规定在字符串的何处开始替换。

正数 - 在第 start 个偏移量开始替换
负数 - 在从字符串结尾的第 start 个偏移量开始替换
0 - 在字符串中的第一个字符处开始替换
 
charlist 可选。规定要替换多少个字符。

正数 - 被替换的字符串长度
负数 - 从字符串末端开始的被替换字符数
0 - 插入而非替换
 

[!--infotagslink--]

相关文章

  • C#中using的三种用法

    using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句 定义一个范围,将在此...2020-06-25
  • c#的异或运算符介绍

    这篇文章介绍了c#的异或运算符,有需要的朋友可以参考一下...2020-06-25
  • 轻松学习C#的运算符

    轻松学习C#的运算符,对C#的运算符感兴趣的朋友可以参考本篇文章,帮助大家更灵活的运用C#的运算符。...2020-06-25
  • C++中的循环引用

    虽然C++11引入了智能指针的,但是开发人员在与内存的斗争问题上并没有解放,如果我门实用不当仍然有内存泄漏问题,其中智能指针的循环引用缺陷是最大的问题。下面通过实例代码给大家介绍c++中的循环引用,一起看看吧...2020-04-25
  • C#中38个常用运算符的优先级的划分和理解

    这只我自己在学C#中的一些总结,其中对于各级的划分方式、各操作符的优先级的理解并不见得正确,只是自己的看法,拿出来与大家分享...2020-06-25
  • iscroll.js 用法介绍

    最新版下载: http://www.csdn123.com/uploadfile/2015/0428/20150428062734485.zip 概要 iScroll 4 这个版本完全重写了iScroll这个框架的原始代码。这个项目的产生...2016-05-19
  • C#中的try catch finally用法分析

    这篇文章主要介绍了C#中的try catch finally用法,以实例形式分析了try catch finally针对错误处理时的不同用法,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C++中cin的用法详细

    这篇文章主要介绍了C++中cin的用法详细,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • R语言运算符知识点讲解

    在本篇文章里小编给大家分享了一篇关于R语言运算符知识点讲解内容,有兴趣的朋友们可以参考下。...2021-05-06
  • C++编程中的或||、与&&、非!逻辑运算符基本用法整理

    这篇文章主要介绍了C++中的或||、与&&、非!逻辑运算符基本用法整理,是C++入门学习中的基础知识,需要的朋友可以参考下...2020-04-25
  • JS不要再到处使用绝对等于运算符了

    这篇文章主要介绍了JS不要再到处使用绝对等于运算符了,对此感兴趣的同学,可以参考下...2021-05-01
  • 示例详解react中useState的用法

    useState 通过在函数组件里调用它来给组件添加一些内部 state,React 会在重复渲染时保留这个 state,接下来通过一个示例来看看怎么使用 useState吧...2021-06-04
  • C#编程自学之运算符和表达式

    这篇文章主要介绍了C#运算符和表达式,这是自学C#编程的第五篇,希望对大家的学习有所帮助。...2020-06-25
  • Delphi常用关键字用法详解

    这篇文章主要介绍了Delphi常用关键字用法,包括了各个常用的关键字及其详细用法,需要的朋友可以参考下...2020-06-30
  • PHP中print_r、var_export、var_dump用法介绍

    文章详细的介绍了关于PHP中print_r、var_export、var_dump区别比较以及这几个在php不同的应用中的用法,有需要的朋友可以参考一下 可以看出print_r跟var_export都...2016-11-25
  • php中php://input的用法详细

    在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组。所以,这里主要探讨php输入流php://input。 下面的例子摘取的是wordpres...2016-11-25
  • MySQL中的主键以及设置其自增的用法教程

    1、声明主键的方法: 您可以在创建表的时候就为表加上主键,如: CREATE TABLE tbl_name ([字段描述省略...], PRIMARY KEY(index_col_name)); 也可以更新表结构时为表加上主键,如: ALTER TABLE tbl_name ADD PRIMARY KEY (in...2015-11-24
  • C#中this的用法集锦

    本文给大家汇总介绍了C#中的几种this用法,相信大家应该有用过,但你用过几种?以下是个人总结的this几种用法,欢迎大家拍砖,废话少说,直接列出用法及相关代码。...2020-06-25
  • Swift中优雅处理闭包导致的循环引用详解

    这篇文章主要给大家介绍了关于Swift中优雅的处理闭包导致的循环引用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Swift具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-06-30
  • C#运算符重载用法实例分析

    这篇文章主要介绍了C#运算符重载用法,实例分析了C#中运算符重载的基本实现与使用技巧,需要的朋友可以参考下...2020-06-25