我一直试图让这个工作起来而不能。
我有一个类似pop.2,rundo.5,moti.3
的字符串,我正在尝试将pop
,rundo
和moti
放入已填充min
的{{1}}中{1}}功能。
最终结果看起来像是镜像,
associative array
到目前为止我已经
了$min = min($user['pop'], $user['rundo'], $user['moti']);
这是我得到的,现在卡住了。我尝试了几种方法,但无济于事。
我知道我可以得到像这样的值,
$items = 'pop.2,rundo.5,moti.3';
// EXPLODE MINUS ITEMS
$minus = explode(',', $items);
// GET MINUS ITEMS AMOUNT
foreach($minus as $item) {
$itemMinus[] = explode('.', $item);
}
但我需要动态生成它,因为我可以放入具有更多值的字符串,例如$itemMinus[0][0] // pop
$itemMinus[1][0] // rundo
$itemMinus[2][0] // moti
。
任何想法和感谢。
答案 0 :(得分:1)
你快到了。使用list()
获取密钥和值:
$itemsMinus = array();
$items = 'pop.2,rundo.5,moti.3';
// EXPLODE MINUS ITEMS
$minus = explode(',', $items);
// GET MINUS ITEMS AMOUNT
foreach($minus as $item) {
// Add to the array by key
list($key, $value) = explode(".", $item);
$itemsMinus[$key] = $value;
}
print_r($itemsMinus);
Array
(
[pop] => 2
[rundo] => 5
[moti] => 3
)
答案 1 :(得分:0)
作为迈克尔帖子的替代方案,您可以使用sscanf
方法代替list
和explode
$items = 'pop.2,rundo.5,moti.3';
// EXPLODE MINUS ITEMS
$minus = explode(',', $items);
// GET MINUS ITEMS AMOUNT
foreach($minus as $item) {
sscanf( $item,'%s.%d', $key, $value);
$itemsMinus[$key] = $value;
}