【问题标题】:how to use const array instead of const variable? [duplicate]如何使用 const 数组而不是 const 变量? [复制]
【发布时间】:2017-09-23 00:20:56
【问题描述】:

嗨,我当前的函数是这样的......我想知道如何使用 const apiKey 作为数组。以及如何将'key'=> self::apiKey 用作'key'=> self::apiKey[rand(0,1)] 等。请帮助我。

const apiKey = 'api_key_ods000doo123';
public function counter_params($video_ID, $part) {
$params = array(
'id' => $video_ID,
'key' => self::apiKey,
'part' => $part
);
$result = self::Connect($params);
//print_r($params);
return $result;
}

【问题讨论】:

  • 所以将你的 const 定义为数组。
  • 报错....
  • 然后发布您遇到的错误。不知道问题出在哪里,我们无能为力。
  • 你的 PHP 版本是多少?好像我记得 const 数组并不总是可用...
  • @Don'tPanic Const 数组自 php5.6 起可用

标签: php arrays function class constants


【解决方案1】:

只需将常量定义为数组(需要 PHP >= 5.6.0):

const apiKey = array('api_key_ods000doo123', 'api_key_ods000doo456'); //etc...

然后访问一个从0到最后一个索引的随机数:

'key'=> self::apiKey[rand(0,count(self::apiKey)-1)],

或者使用内置函数:

'key'=> self::apiKey[array_rand(self::apiKey)],

或者如果您希望 key 成为一个随机数组:

shuffle(self::apiKey);

然后使用你一直在使用的:

'key' => self::apiKey,

【讨论】:

  • 谢谢,但我的 php 版本不允许我使用它.. :(
【解决方案2】:

由于我的 php 版本旧,这就是我使用此代码的原因

define('randomize_api' , serialize(array('AIzaSyBhl0bx7Psf5LKUhboBvtTTufSxXO1PO1s','AIzaSyD8rmarWEJyQwxMqNuFHLQ5E5tcgi4BD10')));
$avv = unserialize(randomize_api);
$bss =  $avv[rand(0,count($avv)-1)];
define('randomize_value_api' , $bss );

const apiKey 这个内部类,我只是分配 const apiKey = randomize_value_api;

我知道很长的路,它可以更短,但我用它是为了我的方便..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    相关资源
    最近更新 更多