首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP中的字符串到int

PHP中的字符串到int
EN

Stack Overflow用户
提问于 2018-08-11 11:52:06
回答 2查看 50关注 0票数 0

我在raspberry pi中用python编写了一个使用gpio 17的程序。我的目标是将这个gpio的状态分别读取到这个程序,运行一个"if“,并在一个本地网站上显示结果。为此,我使用了apache2和PHP (第7版),我是这种语言的初学者。这是我使用的程序:

代码语言:javascript
复制
<?php
 $read = shell-exec ('gpio read 0');
 $status = intval($read);
 if ($status = 1) {
    print ("oui"); 
 }    
 else {
    print ("non");
 } 
?>

这个程序不能工作,因为如果我理解,我获得的$read值是一个字符串,我需要一个Int在我的" if“中使用它。为此,我尝试将这个字符串更改为Int,这要归功于intval()函数(就像您在程序顶部看到的那样),但是它没有工作。我还尝试使用ord()和(int)函数。结果总是一样的。它显示的是"oui“。

我的问题是来自intval()函数还是来自shell-exec()?

谢谢你的帮助;)我尽力在我的解释中尽可能清楚

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-11 11:55:30

这一行有一个错误,因为=不是比较运算符:

代码语言:javascript
复制
 if ($status = 1) {

它应该是:

代码语言:javascript
复制
 if ($status == 1) {

如果还想检查1$status的类型是否相同,请使用操作符===。这是用于比较操作符的PHP文档。

票数 1
EN

Stack Overflow用户

发布于 2018-08-11 11:55:31

您将需要使用比较运算符。我修改了您的if条件,以比较这些值是否相同。

代码语言:javascript
复制
<?php
 $read = shell-exec ('gpio read 0');
 $status = intval($read);
 if ($status === 1) { //Use === to check if they are the same type and value
  print ("oui"); 
 }    
 else {
  print ("non");
 } 
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51799385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档