$records = array(
'123PP' => 3.63,
'123DDD' => 9.63,
'123D' => 6.63,
'123PPPP' => 9.63,
'123DD' => 9.63,
'123P' => 2.63,
'123PPP' => 1.53
);
设置的寡核苷酸序列的优先顺序通过记录循环后,我只得到一个价值 其关键应该是123D
因为偏好顺序是: 123D
,123P
, 123DD
,123PP
,123DDD
,123PPP
,123PPPP
...PHP中使用字符串长度
对于如:
- 如果在数组中找不到,那么
123P
就是答案。 - 如果在该数组中找不到
123P
,则返回123DD
即可。
而且我已经找到了解决办法:
foreach ($records as $key => $value) {
if (empty($this->minLength)) {
$this->invoiceTax = $value;
$this->minLength = strlen($key);
}
elseif (strpos($key, 'P') !== false && (strlen($key) < $this->minLength)) {
$this->invoiceTax = $value;
$this->minLength = strlen($key);
}
elseif (strpos($key, 'D') !== false && (strlen($key) <= $this->minLength)) {
$this->invoiceTax = $value;
$this->minLength = strlen($key);
}
但我想知道如果这个代码可以通过不存储每一个关键的字符串长度进行优化。
使用select然后ctrl + k代替br代码块 –