我正在构建一个解析网站并存储链接和图像的程序,我将它们存储在单独的数组中,一个用于链接,一个用于图像等。我希望它保存在一个多维数组中.. 我该怎么做 ?我有三个函数返回一个ID数组,包含我正在存储的主题的ID,另一个函数返回我正在保存的主题的标题数组,另一个函数返回一个包含所有图像链接的数组..所以我的“主要”功能是:
$array_id = getIds();
$array_titles = getTitles($array_id);
$array_images = getImages($array_id);
我希望将它存储在某些内容中,当我打电话时:
$阵列[$ ID] [$图像]
我获得了此主题ID的所有图片,或者如果我致电
$阵列[$ ID] [$标题]
我获得了此主题ID的标题,这可能吗?或者这是最好的方法吗?我是php的新手,如果我使用的是C,我会制作一个结构,所以我不知道在php上是否有相同的东西,非常感谢..
答案 0 :(得分:1)
不是函数返回所有标题和所有图像的数组,而是需要只返回与单个id相关的标题或图像的函数。我们不知道您是如何定义自己的职能的。
//Get all your ids
$array_id = getIds();
// Functions take an id and retrieve only its related objects
function getTitles($id) {}
function getImages($id) {}
//Iterate over the ids, and retrieve the titles and images for each
foreach ($array_id as $id)
{
// getTitles returns an array, keyed as 'titles' in the id array
$id['titles'] = getTitles($id);
// getImages returns an array, keyed as 'images' in the id array
$id['images'] = getImages($id);
}
// Now you can retrieve them like so:
// A single title...
echo $array_id[0]['titles'][0];
// All titles
print_r($array_id[0]['titles'];
结果数组的结构类似于这个模型:
Array
(
[0] => Array
(
[titles] => Array
(
[0] => title 0a
[1] => title 0b
[2] => title 0c
)
[images] => Array
(
[0] => img0a.jpg
[1] => img0b.jpg
)
)
[1] => Array
(
[titles] => Array
(
[0] => title 1a
[1] => title 1b
[2] => title 1c
)
[images] => Array
(
[0] => img1a.jpg
[1] => img1b.jpg
)
)
[2] => Array
(
[titles] => Array
(
[0] => title 2a
[1] => title 2b
[2] => title 2c
)
[images] => Array
(
[0] => img2a.jpg
[1] => img2b.jpg
)
)
)
如果它对您有所帮助,请参阅我使用php -a
交互式解释器创建数组模型的内容:
php > $ids = array();
php > $ids[0] = array('titles'=>array('title 1', 'title 2', 'title 3'), 'images'=>array('img1.jpg', 'img2.jpg'));
php > $ids[1] = array('titles'=>array('title 1a', 'title 1b', 'title 1c'), 'images'=>array('img1a.jpg', 'img1b.jpg'));
php > $ids[2] = array('titles'=>array('title 2a', 'title 2b', 'title 2c'), 'images'=>array('img2a.jpg', 'img2b.jpg'));
php > $ids[0] = array('titles'=>array('title 0a', 'title 0b', 'title 0c'), 'images'=>array('img0a.jpg', 'img0b.jpg'));
php > print_r($ids);
答案 1 :(得分:0)
您可能希望将PHP类视为一种替代方法,因为struct几乎是一个具有默认公共数据成员的类,它可能是这种形式的东西:
class arrayInfo {
public var id;
public var title;
public var image;
}
然后您可以在数组中使用它们:
$cur_array = array();
$cur_array[0] = new arrayInfo();
$cur_array[1] = new arrayInfo();
..类似的东西。希望有所帮助。