Habr
β
How to become an author
My feed
All streams
Development
Admin
Design
Management
Marketing
PopSci
Search
Write a publication
Settings
Login
Pull to refresh
0
0
Василий Соколов
@megawilddaddy
User
Follow
Send message
Profile
Publications
Comments
1
Bookmarks
More
Dropdown
Followers
2
Following
2
Copy RSS link
Задача при собеседовании на работу в один крупный шведский сайт
megawilddaddy
Aug 22 2011 at 18:27
Без проверок и прочего я бы написал так
function read_conf($fileName)
{
$result = array();
$fp = fopen($fileName, 'r');
while ($line = fgets($fp)) {
list($key, $value) = explode('=', $line);
$keyParts = explode('.', $key);
setValueFromKeyParts($result, $keyParts, $value);
}
return $result;
}
function setValueFromKeyParts(&$result, &$parts, $value)
{
$part = array_shift($parts);
if (count($parts) == 0) {
$result[$part] = $value;
} else {
if (!isset($result[$part])) {
$result[$part] = array();
}
setValueFromKeyParts($result[$part], $parts, $value);
}
}
Information
Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
January 17 1986
Registered
March 17 2011
Activity
June 18 2013 at 17:43
function read_conf($fileName)
{
$result = array();
$fp = fopen($fileName, 'r');
while ($line = fgets($fp)) {
list($key, $value) = explode('=', $line);
$keyParts = explode('.', $key);
setValueFromKeyParts($result, $keyParts, $value);
}
return $result;
}
function setValueFromKeyParts(&$result, &$parts, $value)
{
$part = array_shift($parts);
if (count($parts) == 0) {
$result[$part] = $value;
} else {
if (!isset($result[$part])) {
$result[$part] = array();
}
setValueFromKeyParts($result[$part], $parts, $value);
}
}