php 判断是不是数字 PPython:PHP拥抱Python的强大工具

 2024-02-20 03:02:32  阅读 0

--------------------------------------------------

端口:10240

:utf-8

...

通过在PHP端引入.php,可以使用函数与之前启动的服务进行通信。 传入的请求由服务调用处理并返回结果。 例如 $res = ('test::go') 调用 test.py 中的 go 函数。 您还可以添加更多参数。 从第二个参数开始,更多的参数将传递给被调用的函数。

.py是启动后直接运行的全局代码。 这里写的是全局配置或者进程启动后的一般处理。 例如,如果原生代码中建立了数据库连接,项目就应该根据情况进行优化。

但主要有趣的方面不仅仅是描述 PHP 等业务功能。 它可以为人工智能等领域所需的计算任务提供更复杂的数据结构的处理。 因此,两者的结合可以给PHP带来更多的应用场景。

提升

另外,原生的.py也有一些缺点。 笔者在调用自定义代码时遇到了三个问题并进行了相应的解决:

不支持(复数类)。 复数是数学中的一种数据类型,主要包括real(实部)和imag(虚部)数据。 虽然它们在日常生活中遇到的比较少,但在人工智能和各种专业研究领域中的应用还是不少见。 里面有类可以直接对复数进行各种计算,但是不处理序列化和反序列化。 为了让包含的数据能够正常返回,只需在.py的()方法中添加符合PHP要求的序列化处理即可。 代码如下:

埃利夫(p,):

t1 = str(p.real)

t2 = str(p.imag)

'O:7:"":2:{s:4:"真实";d:%s;s:4:"imag";d:%s;}' % (t1,t2)

不支持(多维数组)。 与 相比,这种情况要常见得多。 我相信所使用的各种计算功能是不可避免的,甚至在一定程度上是实现的。 但原来的.py不被识别。 不过,解决起来并不困难。 找到.py中的()方法,添加下面一段,直接转换成符合PHP要求的数组(数字索引)。

elif(p,numpy。):

s = ''

我=0

对于 p 中的 d:

判断数字是奇数还是偶数的程序_判断数字是否在列表中_php 判断是不是数字

s += 'i:%d;%s' % (i,(d))

我 += 1

"a:%d:{%s}" % (len(p),s)

原始代码不是很健壮。 如果数据是 类型,则 if p == None: 错误:大于 1 的数组的真值是 。 使用a.any()或a.all(),因为p == None的结果也是不返回false,将判断方法改为if p is None:可以避免错误。 相应的,PHP端也要重视序列化和反序列化的处理。

在回复中这样处理对象数据时,如果系统中没有定义对应的类,PHP可以反序列化,但会显示为“”。 真实数据和图像数据可以看到,但不能直接操作。 自己定义类后,会根据指定的类进行解析,与PHP中的一般对象一样,可以轻松进行所有操作。

至此,PHP与.

补充:注册为服务

从命令行启动.py主要是为了方便调试。 可以看到观察反馈信息等。生产环境手动启动毕竟不方便。 可以配置为服务,可以修改端口,可以为不同的应用配置不同的端口。

在Linux下将进程注册为服务非常简单。 只需创建/usr/lib///.,内容如下:

[单元]

=PHP-

之后=。 -fs。 nss-.

[]

={}/.py

[]

=多用户。

其中{}要改为实际路径。

总结

这样,像 exec() 这样的 shell 调用就可以被放弃,让开发回归到逻辑本身。

个人认为这个解决方案值得所有对 PHP 和 PHP 感兴趣的开发者去了解。 欢迎大家参与并为这个项目做出贡献。

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码