【问题标题】:How does strpos() function in PHP return int as well as boolean?PHP 中的 strpos() 函数如何返回 int 和 boolean?
【发布时间】:2015-01-25 17:33:39
【问题描述】:

这就是 w3School 关于 strpos() 函数的说法:

返回一个字符串在另一个字符串中第一次出现的位置,如果未找到该字符串,则返回 FALSE。

函数是如何定义的?是否可以编写这样的函数来返回其他语言中两种不同数据类型的值?

【问题讨论】:

  • 你听说过“如果条件”
  • 是的,我也这么认为,因为您不必在 PHP 中指定函数的返回数据类型。但我只是想知道是否可以用 C++ 或 Java 编写这样的函数?
  • 这就是我喜欢php的原因

标签: php function strpos


【解决方案1】:

许多动态类型语言允许您从函数中返回您想要的任何内容。强类型语言通常不会。

在 PHP 中,函数可以返回任何它想要的,包括布尔值、整数、字符串、空值、数组、各种对象,无论你需要什么。例如 Javascript 和 Lua 也是如此,它们也是动态类型的。

只要确保检查函数的返回类型是否可以是不同类型的东西。尤其是像 int(0) 和 false 这样的东西,如果你使用 == 比较,它们被认为是等价的。使用 === 确保它是正确的类型。

【讨论】:

  • 这个答案对我帮助很大。我也一直在学习 Python,我从未编写过返回 2 种不同数据类型的值的函数,我编写的函数就像我用 Java 编写的一样,我想如果你来自 Java 背景,就会发生这种情况!
【解决方案2】:

其他语言没有loosely typed variables and function returns。以C为例。

取自php.net

PHP is a dynamic, loosely typed language, that uses copy-on-write and reference counting.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多