我编写了一个代码,我希望在关联数组中添加一些数据。我想使用array_push,但我想我应该向社区请求这种做法。我这样做是正确的吗?我想要实现的是,for循环数据的每个索引都应该添加到数组中,但是每次我想的时候都会创建一个新的实例。选项是数组,id_option和name应该在数组的每个索引中,就像查找数据时一样<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<input type="text" id="date">
。
$options[0]['id_option']
我也尝试过这种方式,但这不起作用,下面的语法错误(仅用于理论目的:
for ($mn = 0; $mn < sizeof($pages); $mn++) {
$options = array(
array(
'id_option' => $pages[$mn]['meta_title'],
'name' => $pages_links[$mn]['link'],
)
);
}
答案 0 :(得分:2)
$options = array();//init the array options
for ($mn = 0; $mn < sizeof($pages); $mn++) {
$options[] = array(
'id_option' => $pages[$mn]['meta_title'],
'name' => $pages_links[$mn]['link'],
);
}
print_r($options);
注意$ option变量之后的哈利特 - 这将告诉PHP为数组添加一个值$ options
答案 1 :(得分:1)
您需要添加它,而不是覆盖它,因此请使用$options[] = x
。
好的做法是在循环上面定义空数组,所以在代码的其他部分你至少要有一个数组可以使用(空或不),而不是未定义的var。
// define $options as an array
$options = [];
// add array with data to $options array
for ($mn = 0; $mn < sizeof($pages); $mn++) {
$options[] = [
'id_option' => $pages[$mn]['meta_title'],
'name' => $pages_links[$mn]['link'],
];
}
我还删除了第二个嵌套数组。
答案 2 :(得分:0)
你想要这个:
>>> re.findall(r'(\d)(\1+)', n)
[('4', '4'), ('5', '55'), ('2', '2')]
>>> [''.join(i) for i in re.findall(r'(\d)(\1+)', n)]
['44', '555', '22']
答案 3 :(得分:0)
你的第二个代码不起作用。但是你可以稍微更改你的第一个代码并使其正常工作。
$options = []; // defines the array
for ($mn = 0; $mn < sizeof($pages); $mn++) {
$options[] = array(
'id_option' => $pages[$mn]['meta_title'],
'name' => $pages_links[$mn]['link'],
);
}
感谢。
答案 4 :(得分:0)
您上面所做的每次都会覆盖options数组。
不是100%确定你要做什么,但尝试这样的事情:
$options = array();
for ($mn = 0; $mn < sizeof($pages); $mn++) {
$key = $pages[$mn]['meta_title'];
$value = $pages_links[$mn]['link'];
$options[$key] = $value;
}
var_dump($options);
由于我不知道您的原始数据是什么样的,因此测试是否有点难以测试。
希望它有所帮助。