$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代碼塊 –