“isset构造”有捷径吗?

2024-05-03

我经常写这行代码:

$myParam = isset($params['myParam']) ? $params['myParam'] : 'defaultValue';

通常,它会使嵌套数组的行变得很长。

我可以把它改短一点吗?


function getOr(&$var, $default) {
    if (isset($var)) {
        return $var;
    } else {
        return $default;
    }
}

$myParam = getOr($params['myParam'], 'defaultValue');

但请务必通过引用传递变量,否则代码将产生 E_NOTICE。另外,这里有意使用 if/else 而不是三元运算符,因此如果您使用 PHP

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“isset构造”有捷径吗? 的相关文章

  • 使用 DOJO 自动完成文本框

    我正在寻找一种使用 DOJO 进行文本框自动建议的简单方法 我将查询的数据库表 使用 PHP 脚本 以 JSON 形式返回 有超过 100 000 条记录 因此这确实不应该采用 FilteringSelect 或 ComboBox 的形式
  • 如何在 HTML / Javascript 页面中插入 PHP 下拉列表

    好吧 这是我的第二篇文章 请接受我是一个完全的新手 愿意学习 花了很多时间在各个网站上寻找答案 而且我几乎已经到达了我需要到达的地方 至少在这一点上 我有一个网页 其中有许多 javascript 函数 这些函数一起使用 google 地图
  • 如何在没有引用的情况下复制对象?

    PHP5 OOP 有据可查对象通过引用传递 http php net manual en language oop5 references php默认情况下 如果这是默认的 在我看来 有一种非默认的方式可以在没有参考的情况下进行复制 如何
  • 将 MySQL 结果作为 PHP 数组

    mysql 表 config name config value allow autologin 1 allow md5 0 当前的 php 代码 sth mysql query SELECT rows array while r mysq
  • 如何在html中制作多行类型的文本框?

  • mysqli bind_param 中的 NULL 是什么类型?

    我正在尝试将参数绑定到 INSERT INTO MySQLi 准备好的语句 如果该变量存在 否则插入 null 然后我知道 type variable i corresponding variable has type integer d
  • PHP - 扩展 __construct

    我想知道你是否可以帮助我 我有两个类 一个扩展了另一个 B 类将由各种不同的对象扩展 并用于常见的数据库交互 现在我希望 B 类能够处理其连接和断开连接 而无需来自 A 类或任何外部输入的指示 据我了解 问题是扩展类不会自动运行其 cons
  • 在一个后台为MYSQL的网站上集成搜索

    我有一个位置搜索website http www jammulinks com对于一个城市 我们首先收集该城市所有可能类别的数据 如学校 学院 百货商店等 并将其信息存储在单独的表中 因为每个条目除了名称 地址和电话号码外都有不同的详细信息
  • PHP、jQuery 和 Ajax 调用乱序

    我正在使用 jQuery 进行 Ajax 调用 我有 x 数量的 Ajax 调用附加到 div 这些 Ajax 加载请求是由 PHP foreach 循环生成的 问题是它们渲染的顺序不正确 它们被设置在数组中
  • 在 Laravel 中动态设置数据库连接和语言

    我有 3 个域指向同一个Laravel应用 我想要的是每个人都连接到自己的数据库并根据 TLD 加载自己的语言文件 我可以在哪个文件中设置这些设置 我可以直接在配置文件中执行此操作 或者可以在加载配置之前执行某些事件 我拥有的是一个简短的函
  • PHP使用auto_increment生成短唯一ID?

    我想生成一个简短的 唯一的 ID 而不必检查冲突 我目前正在做类似的事情 但是我当前生成的 ID 是随机的 并且在循环中检查冲突很烦人 并且如果记录数量显着增加 将会变得昂贵 通常担心冲突不是问题 但我想要生成的唯一 ID 是一个由 5 8
  • 模拟/存根在 PHPUnit 中实现 arrayaccess 的类的对象

    这是我正在为其编写测试套件的类的构造函数 它扩展了 mysqli function construct Config c store config file this gt config c do mysqli constructor pa
  • 删除 woocommerce 店面主页标题 php

    我正在使用 woocommerce 的店面主题 我需要用 php 删除主页标题 h1 我知道 css 解决方案 但我不想使用它 因为我想将 h1 添加到该页面的其他位置 并且在一个页面中包含 2 个 h1 对 seo 不利页 我也知道删除页
  • 选取散列第 N 个元素的最快方法

    我有一个大哈希表 带有字符串索引的数组 并正在寻找一个函数quickly从中选取第一个 理想情况下也是第 N 个 元素 array shift and reset 对于我的需求来说太慢了 UPDATE 我也不是在寻找基于引用的解决方案 该函
  • Windows iis 7.0 上的 APC 不稳定

    我的 IIS 非常不稳定 因为它总是由于某种与 APC 相关的原因而重新启动 服务器的规格如下 Intel R Xeon CPU 3GHZ 3GHZ 2GB RAM 64bit APC 和服务器规格 3 1 7 dev PHP Versio
  • PHP 错误警告:参数 1 应该是引用

    我 熟悉 PHP 我的朋友的网站因错误而崩溃 Warning Parameter 1 to Some function name expected to be a reference value given in public html i
  • PHP 错误:“无法通过引用传递参数 2”

    我只是需要有关这个 PHP 错误的帮助 我不太明白 致命错误 无法在第 13 行 web stud openup inactivatesession php 中通过引用传递参数 2
  • 如何确保在 PHP 的“foreach”循环中重置该值?

    我正在写一个简单的 PHP 页面和一些foreach使用了循环 以下是脚本 arrs array a b c foreach arrs as arr if substr arr 0 1 b echo This is b End of fir
  • Doctrine DQL 从 join 返回平面数组

    我通过 DQL 中的常规 LEFT JOIN 选择 3 个实体 它们通过连接表关联 连接表还定义了实体以及带注释的关系 查询执行没有问题 但我的结果作为平面数组返回 我期望一个包含三个实体作为每个索引的数组元素的数组 SELECT e1 e
  • 如何在数据列表 HTML PHP 中设置选择

    您好我想知道是否有一种方法可以在数据列表中设置选定的值 我想要这样的东西

随机推荐

  • Javascript - 从 AWS s3 存储桶读取镶木地板数据(使用快速压缩)

    In nodeJS 我正在尝试读取镶木地板文件 压缩 snappy 但没有成功 I used https github com ironSource parquetjs https github com ironSource parquet
  • 如何识别 R 中行的镜像重复项

    在下面的SO帖子中如何识别 R 中行的部分重复项 https stackoverflow com questions 54661129 how to identify partial duplicates of rows in r 5466
  • 在 O(nloglogn) 最坏情况时间内对具有 O(logn) 个不同元素的 n 元素数组进行排序

    目前的问题是标题本身的内容 即给出一种算法 该算法在 O log logn 最坏情况时间内对具有 O log n 个不同元素的 n 元素数组进行排序 有任何想法吗 此外 您通常如何处理具有多个非不同元素的数组 O 日志 日志 n 时间足以让
  • 如何在 flatpak google chrome 中从 intellij 打开浏览器预览

    当我尝试在 Google Chrome 中打开浏览器预览时 遇到以下错误 不幸的是 我通过以下方式安装了 Google Chromeflatpak https flathub org apps details com google Chro
  • #NUXT.JS 中常用组件方法的存储位置

    实际上我想知道 NUXT JS 中常见组件方法的存储位置 我尝试过的事情 gt 在中间件中存储公共代码 它没用 因为据我所知 中间件只能处理对服务器的请求和响应 methods states methods SwitchManager fu
  • 使用 redux-thunk 取消之前的异步操作

    我正在使用 redux thunk 中间件构建一个 React Redux 应用程序来创建和处理 Ajax 请求 我有一个经常触发的特定 thunk 我想在触发新请求之前取消任何先前启动的 Ajax 请求 这可能吗 一种方法是通过为这些请求
  • bootstrap 一般如何工作,特别是在 Zend Framework 中?

    我正在阅读 Zend Framework 手册 但无法理解引导程序如何工作 特别是在 ZF 和一般情况下 他们写 您的 Bootstrap 类定义了要使用哪些资源和组件 初始化 好的 这意味着应该首先实例化 Bootstrap 类 但随后他
  • Rails 渲染不必要的信息

    我一直在使用 RoR 和 Bootstrap 我试图将我的代码渲染成我在网上找到的片段 基本上我的索引中有这个 div class col md 6 div class well well sm div class row p p p p
  • 如何返回给定长度的所有列表元素?

    我正在尝试返回具有特定长度的单词 这是我到目前为止的代码 words是一个列表并且size是一个正整数 def by size words size for word in words if len word size 我不知道如何继续 b
  • Promise 完成后导出模块

    我实际上想将 read 函数放在不同的模块中 然后在我的主 app js 中需要它 我对使用承诺还很陌生 修改 var dir require node dir var files function getFiles return new
  • 使用自己的网络服务器实现一致的安全 Google Play 应用内购买场景

    我已多次阅读了中的所有文档Android 开发者指南 http developer android com guide google play billing index html并熟悉了精彩的 Google 演示躲避海盗并阻止吸血鬼 ht
  • 使用 JDBC 3.0 实现对嵌套事务的支持

    我们的遗留应用程序使用 JDBC 3 0 它通过实现自己的事务管理器来支持事务 该事务管理器能够为每个线程返回相同的 JDBC 连接 我最近发现的问题是它不支持嵌套事务 如果一个事务在另一个事务中启动 那么在内部事务上下文中运行的每个 SQ
  • 如何使用 gulp webpack-stream 生成正确命名的文件?

    目前我们正在使用Webpack https webpack github io 对于我们的模块加载器 以及Gulp http gulpjs com 对于其他一切 sass gt css 以及开发 生产构建过程 我想将 webpack 的东西
  • 与 Python 中的另一个命令行程序交互

    我需要编写一个 Python 脚本 它可以运行另一个命令行程序并与其标准输入和标准输出流交互 本质上 Python 脚本将从目标命令行程序中读取数据 通过写入其 stdin 进行智能响应 然后再次从程序中读取结果 它会重复执行此操作 我查看
  • Microsoft 认知 API 的正确密钥

    我目前正在尝试在 MS 认知服务 Bing 搜索 API 上进行新闻搜索 我读过很多文档 但似乎被困住了 这是我正在使用的代码 url https bingapis azure api net api v5 news search q mi
  • C++ 进程管理 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个众所周知的 可移植的 好的 C 进程管理库 我发现了一个很有前途的图书馆叫做升压过程 htt
  • Java Keystore 是否存在性能问题? [复制]

    这个问题在这里已经有答案了 我们开发了一个应用程序来加密 解密来自服务器的请求 响应 我们正在做性能测试 加密 解密应用程序 我们观察到加密 解密过程需要时间 而许多线程 正在同时做 为了识别问题 我们记录了加密 解密过程中的所有方法 从记
  • ERRO[0001] 等待容器时出错:上下文已取消

    运行 docker 镜像时出现错误 看起来问题出在我的电脑上 我使用的是 MacOS 10 13 6 我已按照步骤创建 docker 映像 Sanjeet server api sanjeet docker build t apiconta
  • 删除 ggplot 地图/choropleth 中的边框线

    我想删除 ggplot 中生成的等值线区域之间的线 我的问题是由一张非常大的地图引起的 其中包含非常非常小的区域 人口普查区块组 这些区域数量如此之多 以至于鉴于边界的密度 不可能看到填充形状的颜色 我在 Mac 上使用更新后的 RStud
  • “isset构造”有捷径吗?

    我经常写这行代码 myParam isset params myParam params myParam defaultValue 通常 它会使嵌套数组的行变得很长 我可以把它改短一点吗 function getOr var default