我想创建一个脚本。该脚本将自动列出随机的名字和姓氏。有两个数据库表。
第一名: fake_name_id,fake_firstname
Second:fake_name_id,fake_lastname
到目前为止,我做到了以下几点:
控制器文件
$data['lastname'] = array();
$results = $this->getRandomLastNames();
foreach ($results as $result) {
$data['lastname'][] = array(
'lastname' => $result['lastname'],
);
}
$data['fullnames'] = array();
$results = $this->getRandomNames();
foreach ($results as $result) {
$data['fullnames'][] = array(
'firstname' => $result['firstname'],
);
}模型文件> sql查询名字和姓氏
public function getRandomName($fake_name_id) {
$query = $this->db->query("SELECT DISTINCT *, fake_firstname FROM " . DB_PREFIX . " fakereviews_name WHERE fake_name_id = '" . (int)$fake_name_id . "'");
if ($query->num_rows) {
return array(
'fake_name_id' => $query->row['fake_name_id'],
'firstname' => $query->row['fake_firstname'],
);
} else {
return false;
}
}
public function getRandomNames($data = array()) {
$sql = "SELECT * FROM " . DB_PREFIX . "fakereviews_name ORDER BY Rand() ASC LIMIT 0, 20";
$fake_firstname_data = array();
$query = $this->db->query($sql);
foreach ($query->rows as $result) {
$fake_firstname_data[$result['fake_name_id']] = $this->getRandomName($result['fake_name_id']);
}
return $fake_firstname_data;
}
public function getRandomLastName($fake_name_id) {
$query = $this->db->query("SELECT DISTINCT *, fake_lastname FROM " . DB_PREFIX . " fakereviews_lastname WHERE fake_name_id = '" . (int)$fake_name_id . "'");
if ($query->num_rows) {
return array(
'fake_name_id' => $query->row['fake_name_id'],
'lastname' => $query->row['fake_lastname'],
);
} else {
return false;
}
}
public function getRandomLastNames($data = array()) {
$sql = "SELECT * FROM " . DB_PREFIX . "fakereviews_lastname ORDER BY Rand() ASC LIMIT 0, 20";
$fake_lastname_data = array();
$query = $this->db->query($sql);
foreach ($query->rows as $result) {
$fake_lastname_data[$result['fake_name_id']] = $this->getRandomLastName($result['fake_name_id']);
}
return $fake_lastname_data;
} twig文件
{% for fullname in fullnames %}
{{ fullname['firstname'] }} {{ fullname['lastname'] }}
{% endfor %}当页面加载时。好吧,创建20个名字。
但是我不能让它正确地显示姓氏。
请帮助我创建具有预定义数量的foreach随机全名(名字和姓氏)。
发布于 2021-08-26 18:09:32
您可以简单地使用rand()函数。
创建一个fake_firstname数组和一个fake_lastname数组,然后使用循环将它们连接起来,将所有内容包装在一个函数中,您就拥有了所需的内容。
假设您需要一个$n假名称数组
伪代码示例:
public function randomNames($n){
// $first_name_array = fetch all first names in an array;
// $last_name_array = fetch all last names in an array;
$random_names = [];
foreach($n as $i){
$random_full_name = $first_name_array[rand(0,$n)%count($first_name_array)].' '.$last_name_array[rand(0,$n)%count($last_name_array)];
array_push($random_names,$random_full_name);
}
return($random_names);
}https://stackoverflow.com/questions/68943063
复制相似问题