2017-09-29 1 views
0

Haben ein Problem bekommen eine Gitt diff-Ausgabe als ein Array in PHP gespeichert werden.Git Diff OutPut in PHP-Array

$modifiedFiles = `git diff --cached --name-only --diff-filter=ACMR HEAD -- '*.php'`; 

var_dump($modifiedFiles); 

OUTPUT:

""" 
    app/Http/Controllers/HomeController.php\n 
    app/Http/Controllers/LawyerController.php\n 
    """ 

ich dann versucht:

$modifiedFiles = explode('\n', $modifiedFiles); 

var_dump(); 

Ausgang:

array(1) { 
    [0]=> 
    string(82) "app/Http/Controllers/SomeFile.php 
app/Http/Controllers/OtherFile.php 
" 
} 

Ich möchte nur die Ausgabe eine PHP-Array von Dateien sein. Irgendwelche Tipps?

+1

http://php.net/manual/en/function.exec.php Zweiter Parameter ist das Array –

Antwort

1

Sie haben ein paar Probleme hier:

explode('/n', $modifiedFiles); 

Diese Linie muss

explode("\n", $modifiedFiles); 

Nur Strings in doppelten Anführungszeichen sein Zeilenumbrüche und ähnliche Escape-Sequenzen interpretieren usw. Siehe http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double

Sie haben auch einen Schrägstrich anstelle eines Schrägstrichs.

+0

Sorry, ich hatte es falsch eingefügt. Ich habe das wirklich bemerkt und '\ n' getan, aber das funktioniert auch nicht. – kratos

+0

Meinst du, du probierst "\ n" oder "\ n" '? Die Anführungszeichen sind der wichtige Teil. – iainn

+0

das war es! Es waren einfache Anführungszeichen. Bah, was für ein Fehler. Danke, Mann! – kratos