我有一个包含
的表格column 1 = state column 2 = link
Alabama auburn.alabama.com
Alabama bham.alabama.com
Alabama dothan.alabama.com
我需要从我的数据库表中获取并放入一个我可以通过array_walk()的数组。他们需要像这个数组一样被访问。
$arraytable = array(
"auburn.alabama.com"=>"Alabama",
"bham.alabama.com"=>"Alabama",
"dothan.alabama.com"=>"Alabama",
);
我已经尝试了一切但不确定如何使用php来打印数组这样的工作。非常感谢任何帮助。
答案 0 :(得分:3)
注意您的问题标题与您的示例不一致。在标题中,您要求将第1列作为键,但您的示例使用第2列作为键。我在这里使用了第2列......
目前尚不清楚用于获取的MySQL API,但无论使用哪种方法,都要使用关联fetch方法并使用模式$arraytable[$newkey] = $newvalue
创建新的数组键。这个例子是面向对象的MySQLi:
$arraytable = array();
while($row = $result->fetch_assoc()) {
// Create a new array key with the 'link' and assign the 'state'
$arraytable[$row['link']] = $row['state'];
}
答案 1 :(得分:1)
您可以使用array_column,因为PHP5.5(http://php.net/array_column)
描述
array array_column(array $ array,mixed $ column_key [,mixed $ index_key = null])
array_column()返回数组的单个列中的值,由column_key标识。 (可选)您可以提供index_key,以通过输入数组中index_key列的值索引返回数组中的值。
对于PHP< 5.5: https://github.com/ramsey/array_column/blob/master/src/array_column.php
答案 2 :(得分:0)
要实现AcidReign的建议,请参见以下代码段:
代码:(Demo)
DateTimeKind.Unspecified
输出:
// This is needed if the Kind isn't already Unspecified
DateTime timeInArizona = DateTimeKind.SpecifyKind(testtime, DateTimeKind.Unspecified);
// Get the from and to time zone (yes, the IDs have weird naming conventions)
TimeZoneInfo arizonaTimeZone = TimeZoneInfo.FindSystemTimeZoneById("US Mountain Standard Time");
TimeZoneInfo irelandTimeZone = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time");
// Do the conversion, specifying both time zones
DateTime timeInIreland = TimeZoneInfo.ConvertTime(timeInArizona, arizonaTimeZone, irelandTimeZone);