1. php中关于字符串运算的问题
PHP在运算时自动根据参加运算的量和运算符转换为一致类型,你的例子中$str会转换为int类型加。
当然,对于+1计算会自动转换为整数,如果是+1.0会转换为浮点数,同样的,对数值类型进行.运算也会转换为字符串,例如:
'abc' . 123
的结果会是字符串的abc123
2. . PHP中,哪个操作符用来连接字符串
可以用split()函数,如下例子:
public
static
void
main(string
args[]){
string
str="a,b,c,d,e";
string
arr[]=str.split(",");//split函数的作用是用传进来的参数,把字符串拆分,并存到一个数组里
system.out.println(arr[0]);
system.out.println(arr[1]);
system.out.println(arr[2]);
system.out.println(arr[3]);
system.out.println(arr[4]);
}
你可以调试一下试试
:)
3. php截取指定2个字符之间字符串的方法
本文实例讲述了php截取指定2个字符之间字符串的方法。分享给大家供大家参考。具体如下:
在php中只要判断字符串1与字符串2之前的一个stripos位置然后再使用substr开始截取就可以了,这里给大家介绍一个简单例子。
使用方法:
$keyword='查找(计组实验)'
$need=getNeedBetween($keyword,
'('
,
')'
);
运行该程序之后:
$need='计组实验';
下面就来完成上面用到的字符串截取函数getNeedBetween。该函数可实现简单的从字符串($kw)截取两个指定的字符($mark1,$mark2)之间字符串,失败返回0,成功返回截取的字符串。
<?php
function
getNeedBetween($kw1,$mark1,$mark2){
$kw=$kw1;
$kw='123′.$kw.'123′;
$st
=stripos($kw,$mark1);
$ed
=stripos($kw,$mark2);
if(($st==false||$ed==false)||$st>=$ed)
return
0;
$kw=substr($kw,($st+1),($ed-$st-1));
return
$kw;
}
?>
更多关于PHP字符串操作相关内容感兴趣的读者可查看本站专题:《php字符串(string)用法总结》
希望本文所述对大家的php程序设计有所帮助。
4. 用php如何实现以下字符串操作。有一个很长的字符串,字符串的最后有若干个<br/>,如何删除它们
rtrim($str,"<br/>");
rtrim() 函数用从字符串的末端开始删除空白字符或其他预定义字符
5. 如何对php字符串中的每一个字符操作
http://cn2.php.net/manual/zh/function.chr.php
http://cn2.php.net/manual/zh/function.ord.php
用这两个函数实现最好,php处理字符的能力没有c语言那么强。
把这句:$resultString.=$str[$i]+1;
改成:$resultString.=chr(ord($str[$i])+1);
echodecode('abcde');//输出bcdef
echodecode('xyz');//输出yz{
<?php
functiondecode($str){
$resultString="";
for($i=0;$i<strlen($str);$i++){
$resultString.=chr(ord($str[$i])+1);//把字符转换成ascii码+1再转回去
}
return$resultString;
}
echodecode('abcde');
echo'</br>';
echodecode('xyz');
?>
6. 字符串的16、PHP中介绍
string是一系列字符。在 php 中,字符和字节一样,也就是说,一共有 256 种不同字符的可能性。这也暗示 php 对 Unicode 没有本地支持。请参阅函数utf8_encode()和utf8_decode()以了解有关 Unicode 支持
注:一个字符串变得非常巨大也没有问题,php 没有给字符串的大小强加实现范围,所以完全没有理由担心长字符串。
语法
字符串可以用三种字面上的方法定义。
单引号
双引号
定界符 指定一个简单字符串的最简单的方法是用单引号(字符 ')括起来。
要表示一个单引号,需要用反斜线(/)转义,和很多其它语言一样。如果在单引号之前或字符串结尾需要出现一个反斜线,需要用两个反斜线表示。注意如果试图转义任何其它字符,反斜线本身也会被显示出来!所以通常不需要转义反斜线本身。
注:在 php 3 中,此情况下将发出一个 E_NOTICE 级的警告。
注:和其他两种语法不同,单引号字符串中出现的变量和转义序列不会被变量的值替代。
<?phpecho 'this is a simple string';echo 'You can also have embedded newlines instrings this way as it isokay to do';// Outputs: Arnold once said: I'll be backecho 'Arnold once said: I/'ll be back';// Outputs: You deleted C:/*.*?echo 'You deleted C://*.*?';// Outputs: You deleted C:/*.*?echo 'You deleted C:/*.*?';// Outputs: This will not expand: /n a newlineecho 'This will not expand: /n a newline';// Outputs: Variables do not $expand $eitherecho 'Variables do not $expand $either';?>
此外,如果试图转义任何其它字符,反斜线本身也会被显示出来!
双引号字符串最重要的一点是其中的变量名会被变量值替代。细节参见字符串解析。 另一种给字符串定界的方法使用定界符语法(“<<<”)。应该在 <<< 之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。
结束标识符必须从行的第一列开始。同样,标识符也必须遵循 php 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。
例子 11-3. 非法的例子
<?phpclass foo { public $bar = <<<EOTbarEOT;}?>
定界符文本表现的就和双引号字符串一样,只是没有双引号。这意味着在定界符文本中不需要转义引号,不过仍然可以用以上列出来的转义代码。变量会被展开,但当在定界符文本中表达复杂变量时和字符串一样同样也要注意。
例子 11-4. 定界符字符串例子
<?php$str = <<<EODExample of stringspanning multiple linesusing heredoc syntax.EOD;/* More complex example, with variables. */class foo{ var $foo; var $bar; function foo() { $this->foo = 'Foo'; $this->bar = array('Bar1', 'Bar2', 'Bar3'); }}$foo = new foo();$name = 'MyName';echo <<<EOTMy name is $name. I am printing some $foo->foo.Now, I am printing some {$foo->bar[1]}.This should print a capital 'A': /x41EOT;?>注:定界符支持是 php 4 中加入的。 当用双引号或者定界符指定字符串时,其中的变量会被解析。
有两种语法,一种简单的和一种复杂的。简单语法最通用和方便,它提供了解析变量,数组值,或者对象属性的方法。
复杂语法是 php 4 引进的,可以用花括号括起一个表达式。
简单语法如果遇到美元符号($),解析器会尽可能多地取得后面的字符以组成一个合法的变量名。如果想明示指定名字的结束,用花括号把变量名括起来。
<?php$beer = 'Heineken';echo $beer's taste is great; // works, ' is an invalid character for varnamesecho He drank some $beers; // won't work, 's' is a valid character for varnamesecho He drank some ${beer}s; // worksecho He drank some {$beer}s; // works?>
同样也可以解析数组索引或者对象属性。对于数组索引,右方括号(])标志着索引的结束。对象属性则和简单变量适用同样的规则,尽管对于对象属性没有像变量那样的小技巧。
<?php// These examples are specific to using arrays inside of strings.// When outside of a string, always quote your array string keys// and do not use {braces} when outside of strings either.// Let's show all errorserror_reporting(E_ALL);$fruits = array('strawberry' => 'red', 'banana' => 'yellow');// Works but note that this works differently outside string-quotesecho A banana is $fruits[banana].;// Worksecho A banana is {$fruits['banana']}.;// Works but php looks for a constant named banana first// as described below.echo A banana is {$fruits[banana]}.;// Won't work, use braces. This results in a parse error.echo A banana is $fruits['banana'].;// Worksecho A banana is . $fruits['banana'] . .;// Worksecho This square is $square->width meters broad.;// Won't work. For a solution, see the complex syntax.echo This square is $square->width00 centimeters broad.;?>
对于任何更复杂的情况,应该使用复杂语法。
复杂(花括号)语法不是因为语法复杂而称其为复杂,而是因为用此方法可以包含复杂的表达式。
事实上,用此语法可以在字符串中包含任何在名字空间的值。仅仅用和在字符串之外同样的方法写一个表达式,然后用 { 和 } 把它包含进来。因为不能转义“{”,此语法仅在 $ 紧跟在 { 后面时被识别(用“{/$”或者“/{$”来得到一个字面上的“{$”)。用一些例子可以更清晰:
<?php// Let's show all errorserror_reporting(E_ALL);$great = 'fantastic';// 不行,输出为:This is { fantastic}echo This is { $great};// 可以,输出为:This is fantasticecho This is {$great};echo This is ${great};// Worksecho This square is {$square->width}00 centimeters broad.;// Worksecho This works: {$arr[4][3]};// This is wrong for the same reason as $foo[bar] is wrong// outside a string. In otherwords, it will still work but// because php first looks for a constant named foo, it will// throw an error of level E_NOTICE (undefined constant).echo This is wrong: {$arr[foo][3]};// Works. When using multi-dimensional arrays, always use// braces around arrays when inside of stringsecho This works: {$arr['foo'][3]};// Works.echo This works: . $arr['foo'][3];echo You can even write {$obj->values[3]->name};echo This is the value of the var named $name: {${$name}};?>
访问和修改字符串中的字符
字符串中的字符可以通过在字符串之后用花括号指定所要字符从零开始的偏移量来访问和修改。
注:为了向下兼容,仍然可以用方括号。不过此语法自 php 4 起已过时。
例子 11-5. 一些字符串例子
<?php// Get the first character of a string$str = 'This is a test.';$first = $str{0};// Get the third character of a string$third = $str{2};// Get the last character of a string.$str = 'This is still a test.';$last = $str{strlen($str)-1};// Modify the last character of a string$str = 'Look at the sea';$str{strlen($str)-1} = 'e';?> 字符串可以用“.”(点)运算符连接。注意这里不能用“+”(加)运算符。更多信息参见字符串运算符。
有很多实用函数来改变字符串。
普通函数见字符串函数一节,高级搜索和替换见正则表达式函数(两种风格:Perl 和 POSIX 扩展)。
还有 URL 字符串函数,以及加密/解密字符串的函数(mcrypt 和 mhash)。
最后,如果还是找不到想要的函数,参见字符类型函数。 可以用 (string) 标记或者strval()函数将一个值转换为字符串。当某表达式需要字符串时,字符串的转换会在表达式范围内自动完成。例如当使用echo()或者print()函数时,或者将一个变量值与一个字符串进行比较的时候。阅读手册中有关类型和类型戏法中的部分有助于更清楚一些。参见settype()。
布尔值TRUE将被转换为字符串 1,而值FALSE将被表示为 (即空字符串)。这样就可以随意地在布尔值和字符串之间进行比较。
整数或浮点数数值在转换成字符串时,字符串由表示这些数值的数字字符组成(浮点数还包含有指数部分)。
数组将被转换成字符串 Array,因此无法通过echo()或者print()函数来输出数组的内容。请参考下文以获取更多提示。
对象将被转换成字符串 Object。如果因为调试需要,需要将对象的成员变量打印出来,请阅读下文。如果希望得到该对象所依附的类的名称,请使用函数get_class()。自 php 5 起,如果合适可以用 __toString() 方法。
资源类型总是以 Resource id #1 的格式被转换成字符串,其中 1 是 php 在运行时给资源指定的唯一标识。如果希望获取资源的类型,请使用函数get_resource_type()。
NULL将被转换成空字符串。
正如以上所示,将数组、对象或者资源打印出来,并不能提供任何关于这些值本身的有用的信息。请参阅函数print_r()和var_mp(),对于调试来说,这些是更好的打印值的方法。
可以将 php 的值转换为字符串以永久地储存它们。这种方法被称为序列化,可以用函数serialize()来完成该操作。如果在安装 php 时建立了 WDDX 支持,还可以将 php 的值序列化为 XML 结构。 当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。
如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作float来求值。否则就被当作整数。
该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字。
<?php$foo = 1 + 10.5; // $foo is float (11.5)$foo = 1 + -1.3e3; // $foo is float (-1299)$foo = 1 + bob-1.3e3; // $foo is integer (1)$foo = 1 + bob3; // $foo is integer (1)$foo = 1 + 10 Small Pigs; // $foo is integer (11)$foo = 4 + 10.2 Little Piggies; // $foo is float (14.2)$foo = 10.0 pigs + 1; // $foo is float (11)$foo = 10.0 pigs + 1.0; // $foo is float (11)?>
此转换的更多信息见 Unix 手册中关于 strtod(3) 的部分。
如果想测试本节中的任何例子,可以拷贝和粘贴这些例子并且加上下面这一行自己看看会发生什么:
<?phpecho /$foo==$foo; type is . gettype ($foo) . <br />/n;?>
不要指望在将一个字符转换成整型时能够得到该字符的编码(可能也会在 C 中这么做)。如果希望在字符编码和字符之间转换,请使用ord()和chr()函数。
7. 在php中,怎样把数字转化为字符串
步骤如下:
1、首先新建一个PHP文档,并定义一个数组,示例:
$arr = array("I","have","an","apple");
(7)php字符串操作扩展阅读:
一、C语言类型强制转换注意事项
1、类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。
2、无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。
二、PHP的数据类型转换三种方式
1、 强制转换
2、转换函数,intval()、floatval()、strval()
3、通用类型转换函数settype(mixed var,string type)
三、PHP的特性包括:
1、PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。
2、PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
3、PHP支持几乎所有流行的数据库以及操作系统。
4、最重要的是PHP可以用C、C++进行程序的扩展。
8. php怎么将数组变成字符串
使用PHP implode 函数:将数组元素组合为字符串。实现代码如下:
(8)php字符串操作扩展阅读:
注意事项:
1、根据实际情况,可以选择空格作为连接符或者特殊符号作为连接符以便后续的字符串处理操作。
2、连接符参数 glue 默认是可以为空的,但为了向后兼容,推荐仍然使用该参数。
3、implode()函数可安全用于二进制对象。
9. Php字符串操作.
<?php
if ( strlen(trim($rs['news_name'])) > 20 ) {
echo substr(trim($rs['news_name']),0,16)."…";
} else {
echo trim($rs['news_name']);
}
?>
10. PHP及MySQL如何进行字符串运算 - 技术问答
字符串连接,请参照手册的基本语法和运算符的相关内容PHP字符串连接运算符为
.[php]$Name=$_GET[\'textfield\']
.
\'
\'
.
$_GET[\'textfield2\'];[/php]