• 关于 php代码空格是什么 的搜索结果

问题

PHP自动生成了很多全角空白影响页面布局,什么原因?

落地花开啦 2019-12-01 19:54:31 1054 浏览量 回答数 1

回答

单独开个空白文件作测试呢? ######谢谢你的提醒,单独开了一个文件测试,没问题。应该是代码的问题。######感觉是前文有引号没结束######有可能是,我按这个思路找找######估计你用的是  Netbeans ,这东西会自作聪明,把括号,引号之类的删掉一般######我也不太了解都用了什么。不过,好像没有Netbeans--因为我还没他们提起过这个名字。######这绝对不是PHP的问题~######应该是代码的问题,可能是因为低版本的PHP不报相应的错,现在的PHP5.3严厉了,所以问题就暴露出来了。###### 太奇怪了!!!! 调试了半天,发现不可以用  ”能“ 这个汉字!! 只要某个字符串定义时,值里面有”能”这个字,那后面就不可以用单引号或者双引号。例如 $a='能';的后面的代码中只要出现单引号就出错。 $a="能";的后面的代码中只要出现双引号就出错。 怪死了!!######文件编码。 ######我也觉得是不是可以改改编码解决问题。可以,应该用什么编码呢?######你能把报错信息完整贴上来么###### 引用来自“leo108”的答案 你能把报错信息完整贴上来么 文件名:test.php 文件内容: <?php $a = 'abc能'; $c='fsdf'; echo $a; ?> 报错信息: PHP Parse error:  syntax error, unexpected T_STRING in /home/test/test.php on line 3 ###### 暂时的结论:字符串变量的值的最后一个字是”能“时,会导致问题。 暂时通过把所有以”能“结尾的字符串的”能“后面加个空格来解决了。 不过,应该有更好的方法解决,暂时先这样了。 ----不知道这算不算一个PHP的bug###### php 5.3.1 没有出现你所说的问题 php 5.4.3 也没有出现你说的问题 以上均使用 UTF-8 编码 个人觉得没道理出现这样的问题。 ######我把我的测试代码改成UTF-8格式的,问题解决了。 UTF-8应该是默认的吧。有什么地方可以设置一下让我的代码可以采用其他格式的吗?######我把我的测试代码改成UTF-8格式的,问题解决了。 UTF-8应该是默认的吧。有什么地方可以设置一下让我的代码可以采用非其他格式的吗?

黄二刀 2020-05-27 10:10:32 0 浏览量 回答数 0

回答

单独开个空白文件作测试呢? ######谢谢你的提醒,单独开了一个文件测试,没问题。应该是代码的问题。######感觉是前文有引号没结束######有可能是,我按这个思路找找######估计你用的是  Netbeans ,这东西会自作聪明,把括号,引号之类的删掉一般######我也不太了解都用了什么。不过,好像没有Netbeans--因为我还没他们提起过这个名字。######这绝对不是PHP的问题~######应该是代码的问题,可能是因为低版本的PHP不报相应的错,现在的PHP5.3严厉了,所以问题就暴露出来了。###### 太奇怪了!!!! 调试了半天,发现不可以用  ”能“ 这个汉字!! 只要某个字符串定义时,值里面有”能”这个字,那后面就不可以用单引号或者双引号。例如 $a='能';的后面的代码中只要出现单引号就出错。 $a="能";的后面的代码中只要出现双引号就出错。 怪死了!!######文件编码。 ######我也觉得是不是可以改改编码解决问题。可以,应该用什么编码呢?######你能把报错信息完整贴上来么###### 引用来自“leo108”的答案 你能把报错信息完整贴上来么 文件名:test.php 文件内容: <?php $a = 'abc能'; $c='fsdf'; echo $a; ?> 报错信息: PHP Parse error:  syntax error, unexpected T_STRING in /home/test/test.php on line 3 ###### 暂时的结论:字符串变量的值的最后一个字是”能“时,会导致问题。 暂时通过把所有以”能“结尾的字符串的”能“后面加个空格来解决了。 不过,应该有更好的方法解决,暂时先这样了。 ----不知道这算不算一个PHP的bug###### php 5.3.1 没有出现你所说的问题 php 5.4.3 也没有出现你说的问题 以上均使用 UTF-8 编码 个人觉得没道理出现这样的问题。 ######我把我的测试代码改成UTF-8格式的,问题解决了。 UTF-8应该是默认的吧。有什么地方可以设置一下让我的代码可以采用其他格式的吗?######我把我的测试代码改成UTF-8格式的,问题解决了。 UTF-8应该是默认的吧。有什么地方可以设置一下让我的代码可以采用非其他格式的吗?

爱吃鱼的程序员 2020-06-02 14:05:59 0 浏览量 回答数 0

消息队列 RocketMQ 9.9元包月起

消息队列 RocketMQ 9.9元包月起,另含2000万次API 免费调用额度

问题

PHP用户注册调试时preg_match( )发生错误

小旋风柴进 2019-12-01 20:10:01 1079 浏览量 回答数 1

回答

单独开个空白文件作测试呢?######谢谢你的提醒,单独开了一个文件测试,没问题。应该是代码的问题。######感觉是前文有引号没结束######有可能是,我按这个思路找找######估计你用的是 Netbeans,这东西会自作聪明,把括号,引号之类的删掉一般######我也不太了解都用了什么。不过,好像没有Netbeans--因为我还没他们提起过这个名字。######这绝对不是PHP的问题~######应该是代码的问题,可能是因为低版本的PHP不报相应的错,现在的PHP5.3严厉了,所以问题就暴露出来了。###### 太奇怪了!!!! 调试了半天,发现不可以用 ”能“这个汉字!! 只要某个字符串定义时,值里面有”能”这个字,那后面就不可以用单引号或者双引号。例如 $a='能';的后面的代码中只要出现单引号就出错。$a="能";的后面的代码中只要出现双引号就出错。 怪死了!!######文件编码。 ######我也觉得是不是可以改改编码解决问题。可以,应该用什么编码呢?######你能把报错信息完整贴上来么######<divclass="ref"> 引用来自“leo108”的答案<divclass="ref_body">你能把报错信息完整贴上来么<divclass="a_body"> 文件名:test.php 文件内容:<preclass="brush:php;toolbar:true;auto-links:false;"><?php$a='abc能';$c='fsdf';echo$a;?> 报错信息:PHPParseerror: syntaxerror,unexpectedT_STRINGin/home/test/test.phponline3###### 暂时的结论:字符串变量的值的最后一个字是”能“时,会导致问题。 暂时通过把所有以”能“结尾的字符串的”能“后面加个空格来解决了。 不过,应该有更好的方法解决,暂时先这样了。 ----不知道这算不算一个PHP的bug###### <spanstyle="font-size:18px;color:#e53333;">php5.3.1没有出现你所说的问题<spanstyle="color:#e53333;font-weight:bold;font-size:18px;"> <spanstyle="font-size:18px;color:#e53333;">php5.4.3也没有出现你说的问题<spanstyle="color:#e53333;font-weight:bold;font-size:18px;"> <spanstyle="color:#e53333;font-size:18px;">以上均使用UTF-8编码 <spanstyle="color:#e53333;font-size:18px;"><spanstyle="font-size:32px;">个人觉得没道理出现这样的问题。######我把我的测试代码改成UTF-8格式的,问题解决了。UTF-8应该是默认的吧。有什么地方可以设置一下让我的代码可以采用其他格式的吗?######我把我的测试代码改成UTF-8格式的,问题解决了。UTF-8应该是默认的吧。有什么地方可以设置一下让我的代码可以采用非其他格式的吗?

爱吃鱼的程序员 2020-06-22 23:03:49 0 浏览量 回答数 0

回答

Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 要金币,否则下载不了 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 weile 金币,真不容易 ------------------------- 回 40楼larryli的帖子 不会改,不知道具体怎么改,可否在详细一些?谢谢,而且我的解压web之后的文件名都是乱码,咋回事?谢谢 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 为何到最后一步,我就不知道怎么弄了,是按回车,还是按哪里?按哪都没出现冒号“:”,然后可以输入wq,输入wq之后是按回车还是按什么?见下图,等大神帮忙解答,谢谢,电脑是macbook air,按照的win7系统,还有就是上传上去的文件名称全部是乱码,xshell和xftp的utf8已经修改了,但是还是不行,就是乱码。 第一张图看最后那个红色框里面的东西,如果按键盘fn+enter回车键就变成第二图下面红色框中的内容,就是怎么都无法看到视频中的那样,我是很菜的菜鸟,望一步步说的详细些,谢谢 ------------------------- 回 167楼training的帖子 2.1 将WEB根目录修改为“/alidata/www/wordpress” 这个基本会操作了 2.2 将phpmyadmin目录从“/alidata/www” move 到“/alidata/www/wordpress” 这个用xshell输入什么命令来实现? 具体要怎么操作,您如果一个没说,估计我都挂 mv空格/alidata/www/phpmyadmin空格/alidata/www/wordpress/ 已完成 谢谢 但是wordpress后台登陆地址变成什么了? 怎么登陆不了了? 不是403就是404 谢谢 ------------------------- 回 167楼training的帖子 将WEB根目录修改为“/alidata/www/wordpress” 2.2 将phpmyadmin目录从“/alidata/www” move 到“/alidata/www/wordpress” mv空格/alidata/www/phpmyadmin空格/alidata/www/wordpress/ 已完成 谢谢 ------------------------- 回 49楼soulsea的帖子 大神,看到信息加我好友背,QQ279235485,像您咨询和学习,因为打开网页后面都带wordpress,我已经改完了,也成功了,但是php可以登陆,怎么博客后台网址登陆不上去了?去掉wordpress之后,难道博客后台登陆网址也变了吗?谢谢,变成什么了? ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 问题集锦:(慢慢完善和编辑更新) 问:文件解压后,文件名是中文,但是显示的是乱码,是和原因? 答:乱码没有关系,只是终端字符集问题,您可以将文档ftp下载到本地查看。 终端字符集,我也查了下,大概就是xshell和xftp的字符是utf8,而本地电脑的字符集与xshell和xftp的不一样,但是不影响建站,就犹如她母语英文,而你母语中文,但是完全不影响结婚生子,是否正确,待大神指点。乱码图片如下: 问:-Bash: Unzip: Command Not Found怎么解决?也就是web文件下载后上传上去了,但是执行unzip的时候无法解压缩,是啥子情况? 答:unzip: command not found的错误。 就是unzip——命令没有找到,其原因肯定是没有安装unzip。 利用一句命令就可以解决了。 命令是: yum install -y unzip zip 当然也可以是: yum  install unzip 注意事项:一定要注意单词中间有空格。 问:按照视频教程,把wordpress安装好了,但网页地址都是 www.域名/wordpress/......,域名后面多了一个wordpress,如何删掉wordpress? 答:操作方法如下: (在@training 指导下亲测) 第一步、修改nginx配置文件,将root 目录改为“/alidata/www/wordpress”,见下方第一个图中的第一个红色框内容; 第一步注意事项: 1、删除第一张图中的代码可以直接点键盘上的X键(这一点我最开始直接没重点听到); 2、如下第一张图中第一个红色框内的内容,修改完毕后,记得按视频讲解修改下面的access,然后先按键盘上的esc退出(注释:按esc退出后不管鼠标在哪里,直接输入冒号加wq即可,即:wq,不要去挪动鼠标或回车之类的画蛇添足哦),接着才可以输入冒号:wq,然后回车,搞定。(还有js调用也可以,但是对于菜鸟,就免了吧,想要学自己去查吧) 第二步、将phpmyadmin目录从“/alidata/www” move 到“/alidata/www/wordpress” 第二步的注意事项: 执行命令如下格式: mv /alidata/www/phpmyadmin /alidata/www/wordpress/ 如上命令解释如下: mv空格/alidata/www/phpmyadmin空格/alidata/www/wordpress/ 第三步:见楼下172楼 @training 的图文并茂执行 修改后最终效果: 1、 wordpress 可以直接通过 http://ip地址/ 来访问 2、 phpmyadmin的访问地址变为 http://ip地址/phpmyadmin/ 小结: 上面三步缺一不可,已经亲测。 注意事项: 1、如果你是MacBook Air电脑(也许苹果电脑都这样,具体我不知道,反正我的电脑MacBook Air会出现下面两张图中最下面红色框里面的内容问题,因为我用delete去删除代码了,而没用键盘上的X键导致的),那么看下面两张图各自最下面的红色框里面的内容,是不是不一样?就是,丫丫个呸的,原因我也不知道,只知道怎么解决,如果出现这样的情况,需要按键盘上的fn+enter键,将下面的变成INSERT而非REPLACE,那么就可以在里面删除字母并输入新的字母,修改后,按键盘上的esc退出,然后即可输入冒号wq,即:wq,然后回车,搞定。 2、把wordpress这个后缀的确干掉了,但是我需要很负责任的告诉您,博客后台登陆地址已经变了,变成什么样了?我想的很简单,因为去掉了wordpress这个后缀,那么博客原管理后台地址http://120.24.219.20/wordpress/wp-login.php 就应该变成了 http://120.24.219.20/wp-login.php(这个也难为了我好久,你说我有多菜?但是我是在努力学,即使一个代码都不懂,但是知道它的原理,代码的原理就犹如,你想找到C盘目录下的某个文件,你得双击进入C盘,然后找到文件夹,在找到文件,而这样的过程,只是用代码来解决了而已,这样理解,就有点融会贯通的感觉了,但现实往往是残酷了,请看下面第三章图,可以输入登陆信息了,但是输入之后,坑了,见下面第四章图,又跳回来了(补充:此问题已解决,见楼下172楼 @training 的图文并茂给力解答。) (上方为图一) (上方为图二) (上方为图三) (上方为图四) 问:为什么我的是这样。。 root@iZ28r23lg4jZ:~# cd/root -bash: cd/root: No such file or directory 答:其实重点你只要看上面语句中的cd/root就知道了,亲,空格呢? 正确输入应为cd /root,即cd空格/root。 再次引用举例: 命令之间需要有空格的,如下: “cd /root” ,即cd空格/root; “ls -l” ,即ls空格-l; ------------------------- 回 172楼training的帖子 第一、买的是阿里云linux,域名必须备案通过后才可以通过域名访问网页吗?还是备案,拿到备案号后,他人即可通过域名访问? 第二、云解析的步骤可否给图文并茂的讲解下或视频讲解; 第三、一个云ecs下可以挂几个域名网站?具体怎么挂?应该是只要ecs足够大,挂多少都可以吧?如果可以挂多个网站,那各个网站应该是独立的吧?不会所有域名都指向同一个网站了吧?那么需要怎么操作?据说,同一个空间内的网站相关性要高才可以挂到一起(百度看到的结果); 第四、关于备案,一次可以几个域名一起备案?备案后是否这几个网站都共用一个备案号?这样不算违规吧?(因为昨晚我去备案,看下面可以添加多个域名,据说一次备案,可以添加5个域名,不知道是否),谢谢 了解菜鸟,才是王道 因为百度也好,淘宝也罢,最初及现在,还是靠很多菜鸟炒起来的,最初有几个百万富翁或千万富翁参与进来呢?个人看法!

fengyunk83 2019-12-01 23:22:13 0 浏览量 回答数 0

回答

Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 要金币,否则下载不了 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 weile 金币,真不容易 ------------------------- 回 40楼larryli的帖子 不会改,不知道具体怎么改,可否在详细一些?谢谢,而且我的解压web之后的文件名都是乱码,咋回事?谢谢 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 为何到最后一步,我就不知道怎么弄了,是按回车,还是按哪里?按哪都没出现冒号“:”,然后可以输入wq,输入wq之后是按回车还是按什么?见下图,等大神帮忙解答,谢谢,电脑是macbook air,按照的win7系统,还有就是上传上去的文件名称全部是乱码,xshell和xftp的utf8已经修改了,但是还是不行,就是乱码。 第一张图看最后那个红色框里面的东西,如果按键盘fn+enter回车键就变成第二图下面红色框中的内容,就是怎么都无法看到视频中的那样,我是很菜的菜鸟,望一步步说的详细些,谢谢 ------------------------- 回 167楼training的帖子 2.1 将WEB根目录修改为“/alidata/www/wordpress” 这个基本会操作了 2.2 将phpmyadmin目录从“/alidata/www” move 到“/alidata/www/wordpress” 这个用xshell输入什么命令来实现? 具体要怎么操作,您如果一个没说,估计我都挂 mv空格/alidata/www/phpmyadmin空格/alidata/www/wordpress/ 已完成 谢谢 但是wordpress后台登陆地址变成什么了? 怎么登陆不了了? 不是403就是404 谢谢 ------------------------- 回 167楼training的帖子 将WEB根目录修改为“/alidata/www/wordpress” 2.2 将phpmyadmin目录从“/alidata/www” move 到“/alidata/www/wordpress” mv空格/alidata/www/phpmyadmin空格/alidata/www/wordpress/ 已完成 谢谢 ------------------------- 回 49楼soulsea的帖子 大神,看到信息加我好友背,QQ279235485,像您咨询和学习,因为打开网页后面都带wordpress,我已经改完了,也成功了,但是php可以登陆,怎么博客后台网址登陆不上去了?去掉wordpress之后,难道博客后台登陆网址也变了吗?谢谢,变成什么了? ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 问题集锦:(慢慢完善和编辑更新) 问:文件解压后,文件名是中文,但是显示的是乱码,是和原因? 答:乱码没有关系,只是终端字符集问题,您可以将文档ftp下载到本地查看。 终端字符集,我也查了下,大概就是xshell和xftp的字符是utf8,而本地电脑的字符集与xshell和xftp的不一样,但是不影响建站,就犹如她母语英文,而你母语中文,但是完全不影响结婚生子,是否正确,待大神指点。乱码图片如下: 问:-Bash: Unzip: Command Not Found怎么解决?也就是web文件下载后上传上去了,但是执行unzip的时候无法解压缩,是啥子情况? 答:unzip: command not found的错误。 就是unzip——命令没有找到,其原因肯定是没有安装unzip。 利用一句命令就可以解决了。 命令是: yum install -y unzip zip 当然也可以是: yum  install unzip 注意事项:一定要注意单词中间有空格。 问:按照视频教程,把wordpress安装好了,但网页地址都是 www.域名/wordpress/......,域名后面多了一个wordpress,如何删掉wordpress? 答:操作方法如下: (在@training 指导下亲测) 第一步、修改nginx配置文件,将root 目录改为“/alidata/www/wordpress”,见下方第一个图中的第一个红色框内容; 第一步注意事项: 1、删除第一张图中的代码可以直接点键盘上的X键(这一点我最开始直接没重点听到); 2、如下第一张图中第一个红色框内的内容,修改完毕后,记得按视频讲解修改下面的access,然后先按键盘上的esc退出(注释:按esc退出后不管鼠标在哪里,直接输入冒号加wq即可,即:wq,不要去挪动鼠标或回车之类的画蛇添足哦),接着才可以输入冒号:wq,然后回车,搞定。(还有js调用也可以,但是对于菜鸟,就免了吧,想要学自己去查吧) 第二步、将phpmyadmin目录从“/alidata/www” move 到“/alidata/www/wordpress” 第二步的注意事项: 执行命令如下格式: mv /alidata/www/phpmyadmin /alidata/www/wordpress/ 如上命令解释如下: mv空格/alidata/www/phpmyadmin空格/alidata/www/wordpress/ 第三步:见楼下172楼 @training 的图文并茂执行 修改后最终效果: 1、 wordpress 可以直接通过 http://ip地址/ 来访问 2、 phpmyadmin的访问地址变为 http://ip地址/phpmyadmin/ 小结: 上面三步缺一不可,已经亲测。 注意事项: 1、如果你是MacBook Air电脑(也许苹果电脑都这样,具体我不知道,反正我的电脑MacBook Air会出现下面两张图中最下面红色框里面的内容问题,因为我用delete去删除代码了,而没用键盘上的X键导致的),那么看下面两张图各自最下面的红色框里面的内容,是不是不一样?就是,丫丫个呸的,原因我也不知道,只知道怎么解决,如果出现这样的情况,需要按键盘上的fn+enter键,将下面的变成INSERT而非REPLACE,那么就可以在里面删除字母并输入新的字母,修改后,按键盘上的esc退出,然后即可输入冒号wq,即:wq,然后回车,搞定。 2、把wordpress这个后缀的确干掉了,但是我需要很负责任的告诉您,博客后台登陆地址已经变了,变成什么样了?我想的很简单,因为去掉了wordpress这个后缀,那么博客原管理后台地址http://120.24.219.20/wordpress/wp-login.php 就应该变成了 http://120.24.219.20/wp-login.php(这个也难为了我好久,你说我有多菜?但是我是在努力学,即使一个代码都不懂,但是知道它的原理,代码的原理就犹如,你想找到C盘目录下的某个文件,你得双击进入C盘,然后找到文件夹,在找到文件,而这样的过程,只是用代码来解决了而已,这样理解,就有点融会贯通的感觉了,但现实往往是残酷了,请看下面第三章图,可以输入登陆信息了,但是输入之后,坑了,见下面第四章图,又跳回来了(补充:此问题已解决,见楼下172楼 @training 的图文并茂给力解答。) (上方为图一) (上方为图二) (上方为图三) (上方为图四) 问:为什么我的是这样。。 root@iZ28r23lg4jZ:~# cd/root -bash: cd/root: No such file or directory 答:其实重点你只要看上面语句中的cd/root就知道了,亲,空格呢? 正确输入应为cd /root,即cd空格/root。 再次引用举例: 命令之间需要有空格的,如下: “cd /root” ,即cd空格/root; “ls -l” ,即ls空格-l; ------------------------- 回 172楼training的帖子 第一、买的是阿里云linux,域名必须备案通过后才可以通过域名访问网页吗?还是备案,拿到备案号后,他人即可通过域名访问? 第二、云解析的步骤可否给图文并茂的讲解下或视频讲解; 第三、一个云ecs下可以挂几个域名网站?具体怎么挂?应该是只要ecs足够大,挂多少都可以吧?如果可以挂多个网站,那各个网站应该是独立的吧?不会所有域名都指向同一个网站了吧?那么需要怎么操作?据说,同一个空间内的网站相关性要高才可以挂到一起(百度看到的结果); 第四、关于备案,一次可以几个域名一起备案?备案后是否这几个网站都共用一个备案号?这样不算违规吧?(因为昨晚我去备案,看下面可以添加多个域名,据说一次备案,可以添加5个域名,不知道是否),谢谢 了解菜鸟,才是王道 因为百度也好,淘宝也罢,最初及现在,还是靠很多菜鸟炒起来的,最初有几个百万富翁或千万富翁参与进来呢?个人看法!

fengyunk83 2019-12-02 01:10:54 0 浏览量 回答数 0

问题

php str_replace 为什么替换不了连续的空格 : 配置报错 

kun坤 2020-06-04 13:07:27 11 浏览量 回答数 1

问题

php str_replace 为什么替换不了连续的空格,报错

一枚小鲜肉帅哥 2020-05-28 09:21:11 4 浏览量 回答数 1

问题

Go在大文件读取为什么耗费时间是PHP3倍?报错

一枚小鲜肉帅哥 2020-06-20 21:08:25 0 浏览量 回答数 1

问题

301重定向问题紧急求助,急急急!

杰米网 2019-12-01 21:03:52 4364 浏览量 回答数 2

问题

【Java学习全家桶】1460道Java热门问题,阿里百位技术专家答疑解惑

管理贝贝 2019-12-01 20:07:15 27612 浏览量 回答数 19

问题

最大限度利用 JavaScript 和 Ajax 性能:报错

kun坤 2020-06-05 22:56:50 0 浏览量 回答数 1

问题

OSS for PHPWIND 8.7 [20121127更新]

enj0y 2019-12-01 20:25:35 50835 浏览量 回答数 31

问题

【2013.9.5修正版图文】新手如何使用阿里云(linux)服务器建站(搬站)

姑苏公子 2019-12-01 21:11:07 103138 浏览量 回答数 78

问题

文件上传漏洞防御——图片写马的剔除

elinks 2019-12-01 21:14:38 8751 浏览量 回答数 0

问题

【阿里云产品公测】以开发者角度看ACE服务『ACE应用构建指南』

mr_wid 2019-12-01 21:10:06 20092 浏览量 回答数 6

回答

我用C#写的,已经成功了。 我说说我在此过程中遇到的问题,也许会对楼主有帮助: 首先,我在网上找的MD5(32位)加密方式有点小bug,就是比如应该是110230xxxx的给我弄成了11230xxxx,也就是奇数位的0会没有,请楼主你先在网上找个在线加密把你的密码加密一下,然后和你的密码比对一下看对不对,并且注意在发送的时候有没有空格(以防万一); 然后,一般客户端模拟登录的话ErrCode会返回-6,所以最好是先去获取一下验证码,怎么获取不用我教吧?但是注意它在输出图片的同时还在头里发了一个set-cookie(每获取一次,发给你的cookie不一样),你要把cookie保存下来,然后在登录的时候给它发回去,不然会每次都是-6; 最后,祝你早日成功。 ######回复 @CcCcCcCcd : 不管什么语言,腾讯的服务器验证的都是你发过去的消息,你确定你用户名密码正确的情况下,想想,它为什么不通过你的登录?一定是你漏发了消息。具体的可以看到第一次也是唯一一次写的博客,http://my.oschina.net/duoing/blog/147015######回复 @天体图 : 如果是用PHP写的怎么处理呢######回复 @CX-Oice : 哥们。。。已经有人问过同样的问题了,你仔细看下,我回答sorthman的。######你好,不知道怎么获取验证码.能帮忙下吗?急需,谢谢。QQ747051050######回复 @sorthman : 我获取验证码是手动识别的啊。去获取那个图片(地址你应该知道的),然后不是会有一个HttpWebResponse对象么?从这里开始,Stream reader = _HttpWebResponse.GetResponseStream(); Image img = new Bitmap(reader);然后随你怎么用了,你想保存或是用pictureBox显示在窗体上都可以######class SendMessage{ public function init($user,$password){//初始化,登陆微信平台 $url = "http://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN"; $ch=curl_init($url); $post["username"] = $user; $post["pwd"] = md5($password); $post["f"] = "json"; curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0'); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); $html = curl_exec($ch); curl_close($ch); } public function Send($content,$fromfakeid){//发送消息给指定人 $url = "http://mp.weixin.qq.com/cgi-bin/singlesend?t=ajax-response"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt '); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0'); $post['tofakeid'] = $fromfakeid; $post['type'] = 1; $post['content'] = $content; $post['ajax'] = 1; curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); $html = curl_exec($ch); curl_close($ch); }############复制了你这个class 登录还是出现 -2######Java写的登录,使用MD5加密了,也设置了head,返回值不对,你知道原因么?######看一下微信的說明,返回這個消息是什麼意思######我也想问。######不知道什么原因,你解决了么######"-1":"系统错误。 "-2":"帐号或密码错误 "-3":"密码错误。" "-4":"不存在该帐户。" "-5":"访问受限。" "-6":"需要输入验证码" "-7":"此帐号已绑定私人微信号,不可用于公众平台登录。" "-8":"邮箱已存在。" "-32":"验证码输入错误" "-200":n="因频繁提交虚假资料,该帐号被拒绝登录。" "-94":"请使用邮箱登陆。" "10":"该公众会议号已经过期,无法再登录使用。" "65201":"65202":"成功登陆,正在跳转..." "0":n="成功登陆,正在跳转..." default:"未知的返回。" 这是微信平台的返回码对应错误信息。 ######回复 @MaxCrazy : 用PHP写的怎么处理呢######回复 @廖凯 : 我也是抓取不完整,看不到最末端的用户信息,怎么解决啊?######回复 @廖凯 : java环境下可以模拟登录微信公众平台,可以获取token信息,但通过http请求用户管理界面获取用户信息无法获取,原因是 httpclient 返回的html数据不完整,可能是页面字符串太多了,用抓包工具看了一下,用户信息数据正好是在body的最末端,且无法获取用户信息,有好办法么?######回复 @MaxCrazy : 这个我已经知道了,######回复 @廖凯 : 登陆的时候添加这句: post.setRequestHeader(REFERER_H, "https://mp.weixin.qq.com/"); 登陆可以解决,返回值是0,REFERER_H代表Referer字段,但是登陆后粉丝来源的页面源码发生改变,现在获取不到了。######兄弟,做出来了吗,我这里也想做一个,PHP的,验证码这里不知道怎么做,能帮帮忙吗######兄弟 我想问问你登陆那块怎么做的 为什么我这里总是返回 - 2 呢 求分享######回复 @廖凯 : 我的QQ 137978759######回复 @廖凯 :您QQ多少,我给您看一下,我写的代码,一下午了都没做出来,麻烦你帮哦我看看好吗,谢谢啦~~######验证码不用搞,重复登录几下就好了###### {"ret":"-1", "msg":"need post"} 返回这个信息 我用asp 写的,已经连 token 一起提交了 ######有哪位帅哥,用asp.net试过,有木有代码,发给我研究下咯,感激!!######http://www.oschina.net/code/snippet_146430_21868######我模拟登录的时候,老是报密码错误,请问微信的密码采用什么加密方式,有大小写之分吗

kun坤 2020-06-04 18:07:20 0 浏览量 回答数 0

回答

原生XML扩展 我更喜欢使用其中一个原生XML扩展,因为它们与PHP捆绑在一起,通常比所有第三方库更快,并且在标记上给我所需的所有控制权。 DOM DOM扩展允许您使用PHP 5通过DOM API操作XML文档。它是W3C的文档对象模型核心级别3的实现,这是一个平台和语言中立的接口,允许程序和脚本动态访问和更新文件的内容,结构和风格。 DOM能够解析和修改现实世界(破碎)的HTML,并且可以执行XPath查询。它基于libxml。 使用DOM需要一些时间才能提高效率,但这个时间非常值得IMO。由于DOM是一个与语言无关的接口,因此您可以找到多种语言的实现,因此如果您需要更改编程语言,那么您很可能已经知道如何使用该语言的DOM API。 一个基本的用法示例可以在抓取A元素的href属性中找到,一般的概念概述可以在php的DOMDocument中找到 StackOverflow上已经广泛介绍了如何使用DOM扩展,因此如果您选择使用它,您可以确定您遇到的大多数问题都可以通过搜索/浏览Stack Overflow来解决。 XMLReader的 XMLReader扩展是一个XML pull解析器。读取器在文档流上作为光标前进,并在途中停在每个节点上。 与DOM一样,XMLReader基于libxml。我不知道如何触发HTML解析器模块,因此使用XMLReader解析损坏的HTML的可能性可能不如使用DOM,因为您可以明确告诉它使用libxml的HTML解析器模块。 使用php从h1标签获取所有值时,可以找到一个基本用法示例 XML解析器 此扩展允许您创建XML解析器,然后为不同的XML事件定义处理程序。每个XML解析器还有一些您可以调整的参数。 XML Parser库也基于libxml,并实现了SAX样式的XML推送解析器。它可能是比DOM或SimpleXML更好的内存管理选择,但是比XMLReader实现的pull解析器更难以使用。 SimpleXML的 SimpleXML扩展提供了一个非常简单且易于使用的工具集,用于将XML转换为可以使用普通属性选择器和数组迭代器处理的对象。 当您知道HTML是有效的XHTML时,SimpleXML是一个选项。如果你需要解析破碎的HTML,甚至不要考虑SimpleXml,因为它会窒息。 一个基本的用法示例可以在一个简单的CRUD节点程序和xml文件的节点值中找到,PHP手册中还有很多其他的例子。 第三方库(基于libxml) 如果您更喜欢使用第三方库,我建议使用实际上使用DOM / libxml而不是字符串解析的库。 FluentDom - 回购 FluentDOM为PHP中的DOMDocument提供了类似jQuery的流畅XML接口。选择器是用XPath或CSS编写的(使用CSS到XPath转换器)。当前版本扩展了DOM实现标准接口并添加了DOM Living Standard的功能。FluentDOM可以加载JSON,CSV,JsonML,RabbitFish等格式。可以通过Composer安装。 HtmlPageDom Wa72 \ HtmlPageDom`是一个用于轻松操作HTML文档的PHP库。它需要来自Symfony2组件的DomCrawler来遍历DOM树,并通过添加操作HTML文档的DOM树的方法来扩展它。 phpQuery(多年未更新) phpQuery是一个服务器端,可链接,CSS3选择器驱动的文档对象模型(DOM)API,基于用PHP5编写的jQuery JavaScript库,并提供额外的命令行界面(CLI)。 另见:https://github.com/electrolinux/phpquery Zend_Dom Zend_Dom提供了处理DOM文档和结构的工具。目前,我们提供Zend_Dom_Query,它提供了一个统一的界面,可以使用XPath和CSS选择器查询DOM文档。 的QueryPath QueryPath是一个用于操作XML和HTML的PHP​​库。它不仅适用于本地文件,还适用于Web服务和数据库资源。它实现了许多jQuery接口(包括CSS样式的选择器),但它在服务器端使用时经过了大量调整。可以通过Composer安装。 fDOMDocument fDOMDocument扩展了标准DOM,以便在所有错误情况下使用异常,而不是PHP警告或通知。为方便起见,他们还添加了各种自定义方法和快捷方式,并简化了DOM的使用。 军刀/ XML saber / xml是一个包装和扩展XMLReader和XMLWriter类的库,用于创建一个简单的“xml到对象/数组”映射系统和设计模式。编写和读取XML是单遍的,因此可以快速并且需要大型xml文件的低内存。 FluidXML FluidXML是一个用于使用简洁流畅的API来操作XML的PHP​​库。它利用XPath和流畅的编程模式,既有趣又有效。 第三方(不是基于libxml的) 构建DOM / libxml的好处是,您可以获得良好的开箱即用性能,因为您基于本机扩展。但是,并非所有第三方库都沿着这条路线行进。其中一些列在下面 PHP简单的HTML DOM解析器 用PHP5 +编写的HTML DOM解析器允许您以非常简单的方式操作HTML! 需要PHP 5+。 支持无效的HTML。 使用选择器在HTML页面上查找标签,就像jQuery一样。 从一行中提取HTML中的内容。 我一般不推荐这个解析器。代码库很糟糕,解析器本身很慢而且内存很耗。并非所有jQuery选择器(例如子选择器)都是可能的。任何基于libxml的库都应该比这更容易。 PHP Html解析器 PHPHtmlParser是一个简单,灵活的html解析器,允许您使用任何css选择器(如jQuery)选择标签。目标是帮助开发需要快速,简单的方法来废弃html的工具,无论它是否有效!这个项目最初是由sunra / php-simple-html-dom-parser支持的,但支持似乎已经停止,所以这个项目是我对他以前工作的改编。 同样,我不推荐这个解析器。CPU使用率很高,速度相当慢。还没有清除已创建DOM对象的内存的功能。这些问题尤其适用于嵌套循环。文档本身不准确且拼写错误,自4月14日以来没有回复修复。 加农 通用标记器和HTML / XML / RSS DOM解析器 能够操纵元素及其属性 支持无效的HTML和UTF8 可以对元素执行类似CSS3的高级查询(比如jQuery - 支持的命名空间) HTML美化器(如HTML Tidy) 缩小CSS和Javascript 排序属性,更改字符大小写,更正缩进等。 扩展 使用基于当前字符/标记的回调解析文档 操作以较小的功能分隔,以便轻松覆盖 快速而简单 从未使用过它。不知道它是否有用。 HTML 5 您可以使用上面的方法来解析HTML5,但由于HTML5允许的标记,可能会有怪癖。因此,对于HTML5,您要考虑使用专用解析器,例如 html5lib 基于WHATWG HTML5规范的HTML解析器的Python和PHP实现,可与主要桌面Web浏览器实现最大兼容性。 HTML5最终确定后,我们可能会看到更多专用解析器。还有一个W3的博客文章,名为How-To for html 5 parsing,值得一试。 网页服务 如果您不想编写PHP,您也可以使用Web服务。一般来说,我发现这些实用程序很少,但那只是我和我的用例。 ScraperWiki。 ScraperWiki的外部界面允许您以您希望在Web或您自己的应用程序中使用的形式提取数据。您还可以提取有关任何刮刀状态的信息。 常用表达 最后也是最不推荐的,您可以使用正则表达式从HTML中提取数据。通常,不鼓励在HTML上使用正则表达式。 您可以在网上找到与标记相匹配的大多数片段都很脆弱。在大多数情况下,它们只适用于非常特殊的HTML。微小的标记更改,例如在某处添加空格,或添加或更改标记中的属性,可以使RegEx在未正确编写时失败。在HTML上使用RegEx之前,您应该知道自己在做什么。 HTML解析器已经知道HTML的语法规则。必须为您编写的每个新RegEx讲授正则表达式。RegEx在某些情况下很好,但它实际上取决于您的用例。 您可以编写更可靠的解析器,但是使用正则表达式编写完整可靠的自定义解析器是浪费时间,因为上述库已经存在并且在此方面做得更好。

游客gsy3rkgcdl27k 2019-12-02 02:09:37 0 浏览量 回答数 0

回答

问一下: 这个确实是用户输入的字符串吗? 还是用户输入内容的html源码? 个人觉得既然是js里面做, 可以考虑下面方式: var srcStr = '57< img src="/dev-build/5c1800f8cea587969777d0e2a11ec895.png" class="face-pic" data-labface="4">fd< img src="/dev-build/1157a424588a6732a95ac1d622e129d0.png" class="face-pic" data-labface="17">12< img src="/dev-build/bc2e80fa39a2f7d95737fdbec02c0b27.png" class="face-pic" data-labface="21">比比' // "<"和"img"之间有个空格, 这不是合法的html. .replace(/< img/g, ' ######哇瑟,我测试了下是我要的结果呢,谢谢这位大神。。。。######空格是我黏贴进去的时候产生的,可以忽略。。。######这个是用户输入的一段文本,里面包括文字内容和表情,图片就是表情,我想取出的是 文本内容 和 表情符号中的data-labface属性的值, 例如 ['57', '4', 'fd', '17', '12', '21', '比比']###### 今儿个心情好,做一下活雷锋 JavaScript: ==================== var myregexp = /src="([^"]+)" class="face-pic" data-labface="(\d+)"/img; var match = myregexp.exec(subject); while (match != null) { for (var i = 0; i < match.length; i++) { // matched text: match[i] } match = myregexp.exec(subject); } Java: ==================== try { Pattern regex = Pattern.compile("src=\"([^\"]+)\" class=\"face-pic\" data-labface=\"(\\d+)\"", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.MULTILINE); Matcher regexMatcher = regex.matcher(subjectString); while (regexMatcher.find()) { for (int i = 1; i <= regexMatcher.groupCount(); i++) { // matched text: regexMatcher.group(i) // match start: regexMatcher.start(i) // match end: regexMatcher.end(i) } } } catch (PatternSyntaxException ex) { // Syntax error in the regular expression } php ================= preg_match_all('/src="([^"]+)" class="face-pic" data-labface="(\d+)"/im', $subject, $result, PREG_SET_ORDER); for ($matchi = 0; $matchi < count($result); $matchi++) { for ($backrefi = 0; $backrefi < count($result[$matchi]); $backrefi++) { # Matched text = $result[$matchi][$backrefi]; } } ###### js代码: console.log('57< img src="/dev-build/5c1800f8cea587969777d0e2a11ec895.png" class="face-pic" data-labface="4">fd< img src="/dev-build/1157a424588a6732a95ac1d622e129d0.png" class="face-pic" data-labface="17">12< img src="/dev-build/bc2e80fa39a2f7d95737fdbec02c0b27.png" class="face-pic" data-labface="21">比比'.match(/data-labface="[0-9]+"/gi)); 自己根据情况改正则,这里只匹配了数字,大小写不敏感 /data-labface="[0-9]+"/gi ========================== nginx +tomcat+memcached集群,写session不生效:报错 (2台)tomcat+memcached做了集群,sessionID在不同tomcat上相同的,但是给session赋值的时候,发现两边session不同步.非要给nginx 的upstream 配置上 jvm参数后,才能同步,这样配置对不? 还是配置的问题吧,如果你给nginx加上配置可以的话,那就不是mem的共享session了,而是nginx提供的session, 所以你需要配置的还是tomcat与mem之间的session共享问题 附: Tomcat间session共享问题,解决方案选择: 多个tomcat要一起协同工作有几种办法,可以考虑的方案有以下几个:   1.使用tomcat自带的cluster方式,多个tomcat见自动实时复制session信息,配置起来很简单。但这个方案的效率比较低,在大并发下表现并不好。   2.利用nginx的基于访问ip的hash路由策略,保证访问的ip始终被路由到同一个tomcat上,这个配置更简单。但是我们的应用很可能是某一个局域网大量用户同时登录,这样负载均衡就没什么作用了。   3. 利用memcached把多个tomcat的session集中管理,这是最直接的解决方案,但是操作起来也最为复杂。     我们的系统既要求性能,又要比较好的利用上负载均衡,所以第3个方案是首选。接下来就是安装搭建之路了。 ######session写进memcached呢 ###### session写进memcached了.打开页面的时候,发现两边tomcat的session内容一致,当给某个session.setattribute后,两边就不一样,删除也是 ###### @快慢机 没有解决. 先用着了######这个问题楼主怎么解决的啊###### @xf 我们使用memcached共享.context.xml的配置.这样设置有问题吗 <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:10.24.60.2:12000" requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" /> ###### @蟋蟀哥哥  memcached不一定非要2台吧?###### 一台。。我也认为是客户端轮询两台webserver造成的问题。 nginx hash下。。应该能解决######@ 蟋蟀哥哥   要是hash的话,服务器宕机,还是没办法无缝切换 .######一台的话系统形成单点了, 可靠性有问题######@ JackyYeong memcached确实只有一台,主要问题是tomcat2台之间session不复制,在nginx上使用hash策略,也不能保证宕机切换状态保持.######session可以共享了,但是刷新了会丢失

kun坤 2020-06-14 08:16:16 0 浏览量 回答数 0

问题

【javascript学习全家桶】934道javascript热门问题,阿里百位技术专家答疑解惑

管理贝贝 2019-12-01 20:07:22 6202 浏览量 回答数 1

问题

【阿里云产品公测】简单日志服务SLS使用评测含教程

mr_wid 2019-12-01 21:08:11 36639 浏览量 回答数 20

回答

要访问array或object您如何使用两个不同的运算符。 数组 要访问数组元素,您必须使用,[]或者您不会看到太多,但也可以使用is {}。 echo $array[0]; echo $array{0}; //Both are equivalent and interchangeable 声明数组与访问数组元素之间的区别 定义数组和访问数组元素是两件事。所以不要把它们混在一起。 要定义一个数组,可以使用array()或对于PHP> = 5.4 []并分配/设置一个数组/元素。当您使用[]或{}如上所述访问数组元素时,将获得与设置元素相反的数组元素的值。 // 声明一个数组 $ arrayA = array( / 这里有一些东西 / ) ; $ arrayB = [ / 这里有一些东西 / ];//仅适用于PHP> = 5.4 // 访问数组元素 echo $ array [ 0 ] ; 回声$ array { 0 } ; 访问数组元素 要访问数组中的特定元素,可以使用内部的任何表达式,[]或者{}将其求值为要访问的键: $ array [ (任何表达式) ] 因此,请注意使用什么表达式作为键,以及如何通过PHP对其进行解释: echo $ array [ 0 ]; //键是一个整数;它访问0的元素 echo $ array [ “ 0” ]; //键是一个字符串;它访问0的元素 echo $ array [ “ string” ]; //键是一个字符串;它使用键“ string”访问元素 echo $ array [ CONSTANT ]; //键是一个常量,它被替换为对应的值 echo $ array [ cOnStAnT ]; //键也是常量而不是字符串 echo $ array [ $ anyVariable ] //键是一个变量,它被替换为'$ anyVariable'中的值 echo $ array [ functionXY() ]; //键将是函数 的返回值 访问多维数组 如果彼此之间有多个数组,则只需一个多维数组。要访问子数组中的数组元素,只需使用multiple即可[]。 echo $array["firstSubArray"]["SecondSubArray"]["ElementFromTheSecondSubArray"] // ├─────────────┘ ├──────────────┘ ├────────────────────────────┘ // │ │ └── 3rd Array dimension; // │ └──────────────────── 2d Array dimension; // └───────────────────────────────────── 1st Array dimension; 对象 要访问对象属性,必须使用->。 echo $ object- >属性; 如果在另一个对象中有一个对象,则只需使用多个->即可获得对象属性。 echo $objectA->objectB->property; 注意: 另外,如果您使用的属性名称无效,也必须小心!因此,要查看所有问题,您可能会遇到一个无效的属性名称,请参阅此问题/答案。如果您在属性名称的开头有数字,则尤其要注意这一点。 您只能从班级外部访问具有公共可见性的属性。否则(私有或受保护的),您需要一个方法或反射,您可以使用该方法或反射来获取属性的值。 数组与对象 现在,如果您将数组和对象彼此混合在一起,则只需查看是否现在访问数组元素或对象属性并为其使用相应的运算符即可。 //宾语 echo $ object-> anotherObject-> propertyArray [“ elementOneWithAnObject”]-> property; //├────┘├──────────┘├─────────────├─────────── ───────┘├──────┘ //││││└──属性; //│││└────────────────────────数组元素(对象);使用->访问属性“ property” //││└──────────────────────数组(财产);使用[]访问数组元素'elementOneWithAnObject' //│└──────────────────────────── ────────────属性(对象);使用->访问属性'propertyArray' //└────────────────────────────── ───────────────────对象;使用->访问属性“ anotherObject” //数组 echo $ array [“ arrayElement”] [“ anotherElement”]-> object-> property [“ element”]; //├───┘├──────────┘├────────────┘├────┘├────── ├├───────┘ //│││││└──数组元素; //││││└────────────属性(数组);使用[]访问数组元素'element' //│││└────────────────────属性(对象);使用->访问属性“ property” //││└────────────────数组元素(对象);使用->访问属性“对象” //│└──────────────────────────── ────────数组元素(array); 使用[]访问数组元素'anotherElement' //└────────────────────────────── ─────────────数组 使用[]访问数组元素'arrayElement' 我希望这给您一个大概的想法,当它们相互嵌套时如何访问数组和对象。 注意: 是否调用数组或对象取决于变量的最外部。所以[new StdClass]是一个阵列,即使它已(嵌套)对象内的,并$object->property = array();是一个对象,即使它已(嵌套)阵列内。 并且,如果不确定是否有对象或数组,请使用gettype()。 如果有人使用您以外的其他编码样式,请不要感到困惑: //Both methods/styles work and access the same data echo $object->anotherObject->propertyArray["elementOneWithAnObject"]->property; echo $object-> anotherObject ->propertyArray ["elementOneWithAnObject"]-> property; //Both methods/styles work and access the same data echo $array["arrayElement"]["anotherElement"]->object->property["element"]; echo $array["arrayElement"] ["anotherElement"]-> object ->property["element"]; 数组,对象和循环 如果您不仅要访问单个元素,还可以遍历嵌套的数组/对象并遍历特定维的值。 为此,您只需要访问要循环的维度,然后就可以循环浏览该维度的所有值。 作为示例,我们采用一个数组,但它也可以是一个对象: Array ( [data] => Array ( [0] => stdClass Object ( [propertyXY] => 1 ) [1] => stdClass Object ( [propertyXY] => 2 ) [2] => stdClass Object ( [propertyXY] => 3 ) ) ) 如果在第一个维度上循环,则将从第一个维度获取所有值: foreach($ array as $ key => $ value) 这意味着在第一维中,您只有一个带有key($key)data和value($value)的元素: Array ( //Key: array [0] => stdClass Object ( [propertyXY] => 1 ) [1] => stdClass Object ( [propertyXY] => 2 ) [2] => stdClass Object ( [propertyXY] => 3 ) ) 如果在第二维上循环,则将从第二维获取所有值: foreach($ array [“ data”] as $ key => $ value) 在这里意味着在第二个维度你有3个元素与键($key)0,1,2和值($value): stdClass Object ( //Key: 0 [propertyXY] => 1 ) stdClass Object ( //Key: 1 [propertyXY] => 2 ) stdClass Object ( //Key: 2 [propertyXY] => 3 ) 这样,您就可以遍历任何维,无论它是数组还是对象。 分析var_dump()/ print_r()/ var_export()输出 所有这三个调试功能都输出相同的数据,只是以另一种格式或带有一些元数据(例如,类型,大小)。因此,在这里我想展示如何读取这些函数的输出,以了解/了解如何从数组/对象访问某些数据。 输入数组: $array = [ "key" => (object) [ "property" => [1,2,3] ] ]; var_dump() 输出: array(1) { ["key"]=> object(stdClass)#1 (1) { ["property"]=> array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } } } print_r() 输出: Array ( [key] => stdClass Object ( [property] => Array ( [0] => 1 [1] => 2 [2] => 3 ) ) ) var_export() 输出: array ( 'key' => stdClass::__set_state(array( 'property' => array ( 0 => 1, 1 => 2, 2 => 3, ), )), ) 因此,您可以看到所有输出都非常相似。而且,如果现在要访问值2,则可以从值本身开始,您要访问该值,然后逐步到达“左上角”。 1.我们首先看到,值2在键为1的数组中 array(3){ // var_dump() [0] => 整数(1) [1] => 整数(2) [2] => 整数(3) } 数组 // print_r() ( [0] => 1 [1] => 2 [2] => 3 ) 数组( // var_export() 0 => 1 1 => 2 2 => 3, ), 这意味着我们必须使用[]/ {}来访问值2 [1],因为该值具有键/索引1。 2.接下来,我们看到将数组分配给具有对象名称属性的属性 对象(stdClass)#1(1){ // var_dump() [“ property”] => / 此处数组 / } stdClass 对象 // print_r() ( [property] => / 此处为数组 / ) stdClass :: __ set_state ( array(// var_export() 'property' => / 此处数组 / )) 这意味着我们必须使用->访问对象的属性,例如->property。 所以直到现在我们知道,我们必须使用->property[1]。 3.最后,我们看到最外面的是一个数组 array(1){ // var_dump() [“ key”] => / 对象和数组在这里 / } 数组 // print_r() ( [key] => / 对象和数组在这里 / ) 数组( // var_export() 'key' => / 对象和数组在这里 / ) 如我们所知,我们必须使用来访问数组元素[],我们在这里看到我们必须使用["key"]来访问对象。现在,我们可以将所有这些部分放在一起并编写: echo $array["key"]->property[1]; 输出将是: 2 不要让PHP欺骗您! 您需要了解一些事情,这样您就不必花费大量时间来寻找它们。 “隐藏”字符 有时,您的按键中包含字符,这些字符在浏览器的第一次外观中不会出现。然后您要问自己,为什么无法访问该元素。这些字符可以是:标签(\t),新线(\n),空格或HTML标签(例如, )等。 作为示例,如果您查看的输出,print_r()则会看到: Array ( [key] => HERE ) 然后,您尝试通过以下方式访问元素: echo $arr["key"]; 但是您会收到通知: 注意:未定义的索引:键 这很好地表明必须有一些隐藏的字符,因为即使键看起来很正确,也无法访问该元素。 这里的技巧是使用var_dump()+查看源代码!(备选:highlight_string(print_r($variable, TRUE));) 突然之间,您可能会看到以下内容: array(1) { [" key"]=> string(4) "HERE" } 现在您将看到,您的键中带有一个html标记+一个换行符,这是您最初没有看到的,因为print_r()浏览器没有显示它。 所以现在,如果您尝试执行以下操作: echo $arr["\nkey"]; 您将获得所需的输出: HERE 永远不要相信XML 的输出,print_r()或者var_dump()如果您看XML 您可能将XML文件或字符串加载到对象中,例如 现在,如果您使用var_dump()或,print_r()您将看到: SimpleXMLElement Object ( [item] => SimpleXMLElement Object ( [title] => test ) ) 如您所见,您看不到标题的属性。因此,正如我说永远不要相信的输出var_dump()或print_r()当你有一个XML对象。始终用于asXML()查看完整的XML文件/字符串。 因此,只需使用下面显示的方法之一: echo $xml->asXML(); //And look into the source code highlight_string($xml->asXML()); header ("Content-Type:text/xml"); echo $xml->asXML(); 然后您将获得输出:

保持可爱mmm 2020-02-09 14:02:47 0 浏览量 回答数 0

问题

API 签名机制是什么?

nicenelly 2019-12-01 21:24:22 958 浏览量 回答数 1

问题

API 签名机制是什么?

nicenelly 2019-12-01 21:20:13 967 浏览量 回答数 1

问题

什么是API 签名机制?

nicenelly 2019-12-01 22:09:31 1039 浏览量 回答数 0

问题

API 签名机制是什么?

nicenelly 2019-12-01 20:59:53 1219 浏览量 回答数 0

问题

API 签名机制是什么?

nicenelly 2019-12-01 21:04:09 967 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播