shivushrami Ответов: 1

Как преобразовать массив в текстовый файл с помощью PHP


Это out put for log failed это массив я хочу чтобы мне понравилась такая текстовая строка
//John CentaurOne 26:Dec:2017:16:09:45 count => 1
//cena CentaurOne 26:Dec:2017:16:15:27 count => 1
//Bhumi CentaurOne 29:Dec:2017:09:39:45 29:Dec:2017:10:19:28 count => 2
как перейти к этому, пожалуйста, помогите мне. я новичок в php

Массив
(
[John] => массив
(
[CentaurOne] => массив
(
[0] => 26:Dec:2017:16:09:45
)

[count] => 1
)

[cena] => массив
(
[CentaurOne] => массив
(
[0] => 26:Dec:2017:16:15:27
)

[count] => 1
)

[Abc] => массив
(
[CentaurOne] => массив
(
[0] => 27:Dec:2017:09:25:25
[1] => 04/Jan/2018 15:54:35
)

[count] => 2
)

[Bhumi] => массив
(
[CentaurOne] => массив
(
[0] => 29:Dec:2017:09:39:45
[1] => 29:Dec:2017:10:19:28
)

[count] => 2
)

[Avccc] => массив
(
[CentaurOne] => массив
(
[0] => 29/Dec/2017 14:15:41
)

[count] => 1
)

)

Что я уже пробовал:

Это мой php-код для получения имени пользователя, даты и системного имени

$explode = file("failed.log",FILE_SKIP_EMPTY_LINES);



foreach($explode as $row)
{
# Взорвать символ |
$exp = explode('|',$row);
# Сохраните пользователя в массиве an
$new[$exp[0]][$exp[3]][]= $exp[1];

# Подсчитайте, сколько раз пробовали
if(!isset($new[$exp[0]]['count']))
$new[$exp[0]]['count'] = 1;
еще
$new[$exp[0]]['count'] += 1;




}


$АВС = print_r($новый,правда);
echo $abc;

EZW

Я бы изменил формат массива.

Что-то вроде

array(
    'name'      => 'John',
    'Something' => 'CentaurOne'
    'Dates'     => array(
                       0 => '26:Dec:2017:16:09:45'
                       )
)

EZW

В вашем случае это должно выглядеть примерно так:

$key = 0;
foreach($explode as $row)
{
    # Explode the | character
    $exp = explode('|',$row);
    
    # Save the user to the an array
    $new[$key]['name'] = $exp[0];
    $new[$key]['something'] = $exp[3];
    $new[$key]['dates'][] = $exp[1];

    # Count how many times tried
    if(!isset($new[$exp[0]]['count']))
    { $new[$key]['count'] = 1; }
    else
    { $new[$key]['count'] += 1; }

    $key++;
}

shivushrami

Спасибо, что работает .
Я хочу имя пользователя в разделе Сведения о дате BhumiCentaurOne29:Dec:2017:09:39:45,29:Dec:2017:10:19:28=2

AvcccCentaurOne29/Dec/2017 14:15:41,04/Jan/2018 15:54:35=2 как это возможно

1 Ответов

Рейтинг:
1

Kornfeld Eliyahu Peter

Вы можете использовать print_r[^] метод PHP...

fwrite($your_file, print_r($your_array, true));