php 数组成员,PHP:有条件地添加数组成员

$headers=array(

$requestMethod." /rest/obj HTTP/1.1",

"listable-meta: ".$listablemeta,

"meta: ".$nonlistmeta,

'accept: */*',

);

在上面的示例中,如果$listablemeta或$nonlistmeta为空,我想省略整行.

假设$listablemeta为空.那么该数组将是:

$headers=array(

$requestMethod." /rest/obj HTTP/1.1",

"meta: ".$nonlistmeta,

'accept: */*',

);

现在,我可以设置一个条件isempty()并相应地设置数组,但是如果我想构造一个具有20个不同值的数组,并且仅在每行变量都不为空的情况下进行设置,那还有另一种方法来设置条件-内-数组声明?如果没有,解决该问题的另一种方法是什么?

谢谢!

解决方法:

您无法在array子句中执行任何有助您解决此问题的条件,但这应满足您的需求:

如果要传递给数组的标头如下:

$requestMethod = 'GET';

$listablemeta = ''; // This shouldn't be in the final result

$nonlistmeta = 'non-listable-meta';

建立这些变量的键/值数组:

$headers = array(

0 => $requestMethod." /rest/obj HTTP/1.1",

'listable-meta' => $listablemeta,

'meta' => $nonlistmeta,

'accept', '*/*'

);

请注意,如果该值没有requestMethod中的键,则只需在其中放置一个数字值即可.然后遍历它们并构建最终数组:

function buildHeaders($headers) {

$new = array();

foreach($headers as $key => $value) {

// If value is empty, skip it

if(empty($value)) continue;

// If the key is numerical, don't print it

$new[] = (is_numeric($key) ? '' : $key.': ').$value;

}

return $new;

}

$headers = buildHeaders($headers);

$header现在应该包含以下内容:

$headers = array(

'GET /rest/obj HTTP/1.1',

'meta: non-listable-meta-here',

'accept: */*'

);

标签:conditional,arrays,php

来源: https://codeday.me/bug/20191106/2001942.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值