Markdown to PHP Converter

Transform Markdown tables into PHP arrays, associative arrays, and objects for web development

Markdown Input

PHP Output

About Markdown to PHP Converter

Convert Markdown tables to PHP arrays and objects with multiple format options. Perfect for web development, data seeding, and configuration files.

Key Features

  • Indexed Arrays: Simple numeric-indexed arrays
  • Associative Arrays: Key-value pairs using column headers
  • Objects: stdClass objects with properties
  • Custom Variable Names: Choose your PHP variable name
  • PHP Tags: Optional PHP opening/closing tags
  • Pretty Printing: Formatted or compact output
  • String Escaping: Automatic PHP string escaping
  • Example Code: Includes usage examples

How to Use

  1. Input Markdown Table: Paste your Markdown table or upload a .md file
  2. Configure Options: Set variable name, format, and styling
  3. Review Output: The PHP code updates automatically
  4. Copy or Download: Use the code in your PHP project
  5. Run in PHP: Execute the code in your PHP application

Output Formats

  • Indexed Array: Numeric keys, includes header as first row
  • Associative Array: Column headers as keys, best for database-like data
  • Object (stdClass): Object properties, best for OOP applications

Example Conversion

Markdown Input:

| Name | Age | City | Department |
|------|-----|------|------------|
| John Doe | 28 | New York | Engineering |
| Jane Smith | 34 | London | Marketing |

PHP Output (Indexed Array):

<?php

$data = [
    ['Name', 'Age', 'City', 'Department'],
    ['John Doe', '28', 'New York', 'Engineering'],
    ['Jane Smith', '34', 'London', 'Marketing']
];

// Example usage
// Access first row: $data[0]
// Access specific cell: $data[1][0]
// Loop through rows:
foreach ($data as $row) {
    print_r($row);
}

?>

PHP Output (Associative Array):

<?php

$data = [
    [
        'name' => 'John Doe',
        'age' => '28',
        'city' => 'New York',
        'department' => 'Engineering'
    ],
    [
        'name' => 'Jane Smith',
        'age' => '34',
        'city' => 'London',
        'department' => 'Marketing'
    ]
];

// Example usage
// Access first row: $data[0]
// Access specific value: $data[0]['name']
// Loop through rows:
foreach ($data as $row) {
    echo $row['name'];
}

?>

PHP Output (Object):

<?php

$data = [
    (object) [
        'name' => 'John Doe',
        'age' => '28',
        'city' => 'New York',
        'department' => 'Engineering'
    ],
    (object) [
        'name' => 'Jane Smith',
        'age' => '34',
        'city' => 'London',
        'department' => 'Marketing'
    ]
];

// Example usage
// Access first object: $data[0]
// Access property: $data[0]->name
// Loop through objects:
foreach ($data as $obj) {
    echo $obj->name;
}

?>

Common Use Cases

  • Database Seeding: Create seed data for Laravel, Symfony, etc.
  • Configuration Files: Generate config arrays
  • Test Data: Create test fixtures for PHPUnit
  • API Responses: Mock API data for development
  • WordPress: Custom post types, taxonomies, or options
  • Laravel: Factories, seeders, or config files
  • Static Data: Menu items, categories, or lookup tables

PHP Array Operations

Once you have your PHP array, you can perform various operations:

// Array functions
count($data);              // Count elements
array_filter($data);       // Filter array
array_map($callback, $data); // Transform array
array_column($data, 'name'); // Extract column

// Associative array operations
$data[0]['name'];          // Access by key
isset($data[0]['name']);   // Check if key exists
array_keys($data[0]);      // Get all keys

// Object operations
$data[0]->name;            // Access property
property_exists($data[0], 'name'); // Check property
get_object_vars($data[0]); // Get all properties

// JSON conversion
json_encode($data);        // Convert to JSON
json_decode($json, true);  // Parse JSON to array

Integration Examples

Laravel Database Seeder:

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use App\Models\User;

class UserSeeder extends Seeder
{
    public function run()
    {
        $data = [
            ['name' => 'John Doe', 'age' => '28'],
            ['name' => 'Jane Smith', 'age' => '34']
        ];

        foreach ($data as $user) {
            User::create($user);
        }
    }
}

WordPress Custom Post Type:

<?php

$posts = [
    ['name' => 'John Doe', 'age' => '28'],
    ['name' => 'Jane Smith', 'age' => '34']
];

foreach ($posts as $post) {
    wp_insert_post([
        'post_title' => $post['name'],
        'post_content' => 'Age: ' . $post['age'],
        'post_status' => 'publish',
        'post_type' => 'employee'
    ]);
}

REST API Response:

<?php

header('Content-Type: application/json');

$data = [
    ['name' => 'John Doe', 'age' => '28'],
    ['name' => 'Jane Smith', 'age' => '34']
];

echo json_encode([
    'success' => true,
    'data' => $data
]);

String Escaping

All string values are automatically escaped for PHP:

  • Backslashes (\\) → Double backslashes (\\\\)
  • Single quotes (') → Escaped quotes (\\')
  • Newlines (\\n), carriage returns (\\r), tabs (\\t)
  • Safe for use in PHP strings

Variable Name Sanitization

Column names are automatically sanitized for PHP:

  • Spaces and special characters → underscores
  • Names starting with numbers → prefixed with underscore
  • Converted to lowercase for consistency
  • Example: "First Name" → "first_name"

Tips for Best Results

  • Use associative arrays for database-like data
  • Use objects for OOP applications
  • Use indexed arrays for simple lists
  • Include PHP tags for standalone files
  • Enable pretty print for better readability
  • Use descriptive variable names ($users, $products, etc.)
  • Test the generated code in your PHP environment

Requirements

To use the generated code, you need:

  • PHP 5.4 or higher (for short array syntax [])
  • PHP 7.0+ recommended for better performance
  • No additional extensions required
  • Works with all PHP frameworks

Privacy & Security

All conversions happen locally in your browser. Your Markdown data is never uploaded to any server, ensuring complete privacy and security.